首页 > 运维 > linux运维 > 正文

linux oops是什么

青灯夜游
发布: 2022-02-24 13:34:58
原创
4115人浏览过
在linux中,oops表示“惊讶”,是一种信息提示,意味着系统上运行的某些东西违反了内核规定的规则;oops会生成一个崩溃签名“crash signature”,可以帮助内核开发人员找出错误并提高代码质量。

linux oops是什么

本教程操作环境:linux5.9.8系统、Dell G3电脑。

Linux 内核正在盯着你,当它检测到系统上运行的某些东西违反了正常内核行为时,它会关闭系统并发出一个“oops”!

如果你检查你的 Linux 系统上运行的进程,你可能会对一个叫做 “kerneloops” 的进程感到好奇。提示一下,它是 “kernel oops”,而不是 “kerne loops”。

坦率地说,“oops” 是 Linux 内核的一部分出现了偏差行为。你有做错了什么吗?可能没有。但有一些不对劲。而那个做了错事的进程可能已经被 CPU 结束。最糟糕的是,内核可能会报错并突然关闭系统。

请注意,“oops” 不是首字母缩略词。它不代表像“面向对象的编程和系统object-oriented programming and systems” 或“超出程序规范out of procedural specs” 之类的东西。它实际上就是“哎呀” (oops),就像你刚掉下一杯酒或踩在你的猫身上。哎呀! “oops” 的复数是 “oopses”。

oops 意味着系统上运行的某些东西违反了内核有关正确行为的规则。也许代码尝试采取不允许的代码路径或使用无效指针。不管它是什么,内核 —— 总是在监测进程的错误行为 —— 很可能会阻止特定进程,并将它做了什么的消息写入控制台、 /var/log/dmesg 或 /var/log/kern.log 中。

oops 可能是由内核本身引起的,也可能是某些进程试图让内核违反在系统上能做的事以及它们被允许做的事。

oops 将生成一个崩溃签名crash signature,这可以帮助内核开发人员找出错误并提高代码质量。

系统上运行的 kerneloops 进程可能如下所示:

kernoops 881 1 0 Feb11 ? 00:00:01 /usr/sbin/kerneloops
登录后复制

你可能会注意到该进程不是由 root 运行的,而是由名为 “kernoops” 的用户运行的,并且它的运行时间极少。实际上,分配给这个特定用户的唯一任务是运行 kerneloops。

$ sudo grep kernoops /etc/passwd
kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
登录后复制

如果你的 Linux 系统不带有 kerneloops(比如 Debian),你可以考虑添加它。查看这个 Debian 页面了解更多信息。

Layx是一款网页弹窗Javript插件
Layx是一款网页弹窗Javript插件

Layx 是一款网页弹窗Javript插件,她将助力于互联网Web开发,提供优质的弹窗体验

Layx是一款网页弹窗Javript插件 32
查看详情 Layx是一款网页弹窗Javript插件

什么时候应该关注 oops?

一般 oops 没什么大不了的。它在一定程度上取决于特定进程所扮演的角色。它也取决于 oops 的类别。

有些 oops 很严重,会导致系统恐慌system panic。从技术上讲,系统恐慌是 oops 的一个子集(即更严重的 oops)。当内核检测到的问题足够严重以至于内核认为它(内核)必须立即停止运行以防止数据丢失或对系统造成其他损害时会出现。因此,系统需要暂停并重新启动,以防止任何不一致导致不可用或不可靠。所以系统恐慌实际上是为了保护自己免受不可挽回的损害。

总之,所有的内核恐慌都是 oops,但并不是所有的 oops 都是内核恐慌。

/var/log/kern.log 和相关的轮转日志(/var/log/kern.log.1/var/log/kern.log.2 等)包含由内核生成并由 syslog 处理的日志。

kerneloops 程序收集并默认将错误信息提交到 http://oops.kernel.org/,在那里它会被分析并呈现给内核开发者。此进程的配置详细信息在 /etc/kerneloops.conf 文件中指定。你可以使用下面的命令轻松查看设置:

$ sudo cat /etc/kerneloops.conf | grep -v ^# | grep -v ^$
[sudo] password for shs:allow-submit = ask
allow-pass-on = yes
submit-url = http://oops.kernel.org/submitoops.phplog-file = /var/log/kern.logsubmit-pipe = /usr/share/apport/kernel_oops
登录后复制

在上面的(默认)设置中,内核问题可以被提交,但要求用户获得许可。如果设置为 allow-submit = always,则不会询问用户。

调试内核问题是使用 Linux 系统的更高级技巧之一。幸运的是,大多数 Linux 用户很少或从没有经历过 oops 或内核恐慌。不过,知道 kerneloops 这样的进程在系统中执行什么操作,了解可能会报告什么以及系统何时遇到严重的内核冲突也是很好的。

相关推荐:《Linux视频教程

以上就是linux oops是什么的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号