linux故意内核恐慌,什么是内核恐慌?

问题描述

我刚刚完成了OS课程。我经常听到“kernel panic”这个短语。你可以解释吗

什么是内核恐慌?

它为什么会发生?

我怎样才能发现内核出现恐慌?

它对系统有什么影响?

它只发生在Linux中吗?

我该怎样预防呢?

最佳解决思路

每个FAQ一次1个问题

什么是内核恐慌?当内核无法正常加载或”freaks out”并且无法正常启动或崩溃时(请参阅底部的编辑信用)。

为什么会这样? Hosed更新,硬件故障,硬件不受支持,驱动器或分区出现故障或丢失(请参阅底部的编辑信用)

我怎么能理解内核恐慌发生了?观察启动提示(关闭安静的内核参数)或者您的计算机无法启动

它对系统有什么影响?无法启动或系统崩溃

它只发生在Linux中吗?不,所有unix-like操作系统都可能出现内核恐慌。它相当于Windows Blue Screen of Death

我该怎样预防呢?它通常不会发生。测试更新并解决问题。使用stable而不是开发分支。

附加说明:内核崩溃和系统故障/关闭可能直接负责保护您的计算机免受物理损坏。示例包括在极端过热或磁盘损坏之前停止。请参阅底部的编辑信用以获得直接引用。

编辑

每个B. Roland丢失或损坏的磁盘或卷也可能导致此问题。 (好点,我忽略了它)

每个Kees运行时也会发生内核混乱。注意:当函数在内核中优雅地失败时会发生,但最常发生在模块或内核加载期间(通常在引导期间)。我以为我在“启动或系统崩溃期间”触及它,但我看到我对(1)的回答如何表明它只发生在启动期间。

根据rafalcieslak直接引用 – ‘必须添加一个非常重要的事情:整个内核恐慌的要点是保护您的计算机。内核冻结不仅因为它没有做某事,而且还为了防止你的计算机f.e.如果执行了一些不正确的命令,模块(例如负责控制风扇的模块)无法加载等,可能会出现过热,硬盘损坏和任何其他硬件问题。这就是内核更喜欢的原因冻结,而不是克服这个问题。

次佳解决思路

当内核检测到无法恢复的错误时,会发生内核崩溃。一个名为panic()的函数来处理这种情况(通常通过转储一些调试信息和/或重启系统)最早在一个早期的UNIX版本中引入,所以这就是名称的来源(在大多数UNIX-like中它仍然被称为操作系统,包括Mac OS X)。

微软NT内核中着名的Blue Screen Of Death(官方称为致命系统错误,如在VMS /OpenVMS中)也是”kernel panic”的一种形式。

内核可以(部分或暂时)恢复的Linux内核错误称为内核oops(有时可能会在dmesg输出中看到这些错误)。

内核恐慌的原因可能是内核中的错误(例如,在作为内核一部分的驱动程序中)或导致内核意外/不可预测情况的硬件或软件问题(例如,当无法启动内核时) init过程,或它被杀死)。

要找出导致它的原因,您可以看到屏幕上是否打印了任何内容或串行控制台(如果您配置了一个)。如果它被配置为这样做,你也可以让系统进行linux内核崩溃转储,在发生恐慌的情况下将内核内存保存到磁盘,以便内核开发人员可以分析它(当然,这要求它是能够写入磁盘)。在某些情况下,/var/log/messages也可能有用信息(例如,在某些情况下,从oops恢复可能会导致以后出现不可恢复的错误)。有一些更详细的信息here。

参考资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值