我们知道在windows中会经常碰到蓝屏的现象,那在Linux中会不会出现呢?
虽说Linux很健壮很稳定,但难免也会因为某种原因发生所谓的蓝屏,在Linux中叫panic。造成panic的原因一般有如下几种:
1.硬件问题:硬件不兼容,驱动程序不兼容等
2.系统过热:系统过热也会引起panic
3.软件问题:比如自身文件系统,内核有问题
4.应用软件的问题:比如在ocfs 1.2.2中,fencing是以panic的方式来处理的。
当系统发生panic后,默认系统是会一直hang在那里,直到你去手工重启它。这可不是我们想要的,特别对于RAC来说,我们希望节点出问题后能快速的自动启动,那么如何让它自动启动呢?我们可以在/etc/sysctl.conf文件中配置:
kernel.panic = 20 --单位为秒,来告诉系统在发生panic后20秒后自动启动。
另外一个讨厌的事情是系统hung住之后,键盘鼠标没有响应,这个可以通过设置Magic SysRq来解决!在/etc/sysctl.conf中配置:
kernel.sysrq=1 来激活Magic SysRq!
这样在挂住的时候至少还有一招可以使,按住 [ALT]+[SysRq]+[COMMAND], 这里SysRq是Print SCR键,而COMMAND按以下来解释!
b - 立即重启
e - 发送SIGTERM给init之外的系统进程
o - 关机
s - sync同步所有的文件系统
u - 试图重新挂载文件系统
当然以上处理方法都是事后诸葛亮,并不能找出真正的原因,但发生panic时会导致系统crash,系统日志中没有或很少有关crash的日志,那么要找出真正的原因就比较困难。别急,Linux提供了如下几种方式让我们能分析出故障时的信息。
1.netdump
netdump会把出故障时的内存信息转储到netdump服务器上,通过分析netdump服务器上的转储信息就可以找出故障的原因。
2.diskdump
当出现kernel panic时,diskdump会将内存中的信息dump到指定的分区或磁盘中。系统重新启动,在启动到diskdump服务时,diskdump会将dump分区中的内容读出并写入到/var/crash/127.0.0.1-<date>/vmcore文件中,通过分析这个文件就能找出问题所在。
No Comments
Be the first to comment on this entry.
Leave a comment
Fields in bold are required. Email addresses are never published or distributed.
Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>URLs must be fully qualified (eg: http://www.dbifan.com),and all tags must be properly closed.
Line breaks and paragraphs are automatically converted.
Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.