为什么linux会死机

 我来答
匿名用户
2017-04-19
展开全部
在排除了硬件故障/firmware版本/BIOS等等问题之外, Linux死机通常可能碰到如下几种情况
1, 如果你的Linux死机的时候控制台上有乱七八糟的字符。恭喜你,这种情况叫做oops. 通常是Linux kernel认为自己发生了异常造成的。
可以通过oops消息查找出错的地方。
2, 如果你的机器僵死,那么问题麻烦了。这种时候,通常是Kernel出现了死锁。Kernel不会知道自己死锁了,所以不会在屏幕上显示任何咚咚。
如果运气好,此时Kernel也许可能能够响应中断。不管怎样,你都无法进一步操作了。
3, 严格来说,这第三种情况不算死机,现象如下:输入命令回车之后命令不能返回任何结果, 但是控制台对回车可能有相应。但是命令无法结束,也不会有输出结果。
但是可以换到下一个控制台, 而且还可以继续输入命令,但是输入命令之后还是没有输出。这种情况会有很多可能。通常是应用程序的系统调用长时间没有返回或者是满足不了应用的要求。
以上三种情况,system log的作用都不大。通常日志都不会纪录。所以只能使用Kernel的Debug工具。
不过Linus比较狠,人说Kernel不需要Debug工具。所以kernel.org中的代码是没有debug工具的。不过目前绝大多数发行版的kernel都带了debug工具,而且工具都不一样。
通常进行kernel debug都需要在出现故障的时候采集vmcore. 就是把故障发生的时memory dump出来。(还记得Windows 蓝屏的时候会出现1%-100%跳动的一个数字和c盘dump.sys文件, 这回知道干什么的了吧? ) 然后进行分析。也许你会担心Linux死机了,还怎么dump memory啊,这个不用担心,Kernel还是留了好几条路子。其中一个是NMI。
那么到底怎么dump memory呢? 这里用REDHAT为例,RHEL3,RHEL4中都使用了netdump作为采集工具,RHEL5使用kdump作为采集工具。
采集完毕就可以对vmcore进行分析,步骤就不细说了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式