【问题标题】:Is it possible that after kernel panic the system will stay alive?内核恐慌后系统是否有可能继续存在?
【发布时间】:2014-03-06 17:45:20
【问题描述】:

昨天,在运行我的应用程序时,我在控制台中看到syslog 广播,这看起来像是内核崩溃并且控制台变得没有响应。今天,我注意到我可以使用putty 连接到服务器,当我运行uptime 时显示系统已经运行了几天。当我运行dmesg 时,我看到oom_killer 日志和Oops 日志,但我预计我会看到系统重新启动并且dmesg 没有任何内核恐慌的痕迹。所以现在我很困惑,是否存在内核恐慌?如果是,那么我怎么能连接到服务器,而系统似乎没有重新启动(它已经启动了几天)。如果没有,那我怎么能连接到服务器呢?在我手动重新启动服务器之前不应该冻结服务器吗?

【问题讨论】:

  • Panic != Oops(Panic = 无法继续,oops = 一些错误,这可能是致命的并触发恐慌(例如:中断上下文中的 oops),或者不是)
  • 顺便说一句,我确定之前在 unix.SE 中已经问过这个问题
  • 您为什么不详细说明并解决 oom_killer 日志,以便我接受您的回答?

标签: linux linux-kernel panic


【解决方案1】:

不,这是不可能的。正如 cmets 中提到的 Oops 不是内核恐慌问题,oom 杀手杀死了内存不足的进程,因为这个进程绕过了内核网络堆栈(以自己的方式实现它)我得到了 oom 日志。让我感到困惑的是,如果我要制作一个测试程序

int * p = new int[(unsigned int)-1];

我会得到std::bad_alloc 而没有关于oom 杀手的消息。您可以在这里找到更多信息:

http://bl0rg.krunch.be/oom-frag.html

https://unix.stackexchange.com/questions/1660/what-is-a-kernel-panic

【讨论】:

    猜你喜欢
    • 2022-06-27
    • 1970-01-01
    • 2013-12-12
    • 2010-12-16
    • 2020-01-28
    • 2012-02-08
    • 2015-12-11
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多