Linux 系统内核故障排查全解析
1. OS 崩溃(Panics)概述
在 Linux 系统中,OS 崩溃是由一些意外情况或内核状态异常导致的主动内核关闭情况。这里所说的并非正常的操作系统关机命令,而是代码执行过程中调用了 panic() 函数。
当发生内核崩溃时,由于这是一种主动的内核关闭,所以在开始排查问题之前需要重启系统。默认情况下,Linux 系统在遇到 panic() 时不会自动重启。不过,我们可以通过在 /proc/sys/kernel/panic 中设置等待重启的秒数来实现自动重启功能。大多数 Linux 发行版的默认值为 0,这意味着系统不会自动重启,而是会处于挂起状态;若遇到这种情况,也可以使用硬件强制重置的方法。
2. OS 崩溃的排查方法
要排查 OS 崩溃问题,首先要尝试获取崩溃转储信息。可以查看控制台,其中包含了崩溃字符串,该字符串能引导我们找到崩溃的源头,进而确定崩溃发生时所调用的函数。但有时控制台的数据可能不够,此时就需要启用转储工具。当内核调用 panic() 时,崩溃转储工具会接管并将内核内存写入转储设备。不过,截至目前, kernel.org 上的内核还未包含这一特性。
以下是几种可用于获取转储的技术:
| 发行版 | 转储技术 |
| ---- | ---- |
| SGI、SUSE、HP Telco | LKCD(Linux Kernel Crash Dump) |
| Red Hat | netdump 及
超级会员免费看
订阅专栏 解锁全文
981

被折叠的 条评论
为什么被折叠?



