<code id='21po'><strong id='21po'></strong></code>

    <i id='21po'><div id='21po'><ins id='21po'></ins></div></i>

  1. <tr id='21po'><strong id='21po'></strong><small id='21po'></small><button id='21po'></button><li id='21po'><noscript id='21po'><big id='21po'></big><dt id='21po'></dt></noscript></li></tr><ol id='21po'><table id='21po'><blockquote id='21po'><tbody id='21po'></tbody></blockquote></table></ol><u id='21po'></u><kbd id='21po'><kbd id='21po'></kbd></kbd>
      1. <ins id='21po'></ins><span id='21po'></span>
        <i id='21po'></i>
        <dl id='21po'></dl>
        <fieldset id='21po'></fieldset>
        <acronym id='21po'><em id='21po'></em><td id='21po'><div id='21po'></div></td></acronym><address id='21po'><big id='21po'><big id='21po'></big><legend id='21po'></legend></big></address>

          Linux系统“死机”时怎么办?

          • 时间:
          • 浏览:13
          • 来源:124软件资讯网

            若是问题能够再现 ,那么问题已经解决 80% 了 。对于操作系统焦点而言  ,若是有问题的再现要领  ,那么可以说是已经解决 99% 了  。经常遇到的问题是系统可以正常运行一段时间  ,然后死机  。若是欠好再现问题  ,那么只有凭据死机现场遗留的工具来举行剖析了 。

            若是系统没有死洁净  ,好比磁盘中止和文件系统是好的 ,那么也许能有日志信息保留在文件中 ,不外这样的好运气我是从来没有遇到过的  。若是键盘中止还能响应 (按下Num Lock  ,可以瞥见键盘小灯亮灭) ,那么运气就算是足够好了  ,这时可以祭出 sysrq 大法  ,同时按下 Alt-Sysrq-T 获得历程系统客栈信息  ,按下 Alt-Sysrq-M 获得内存分配信息  ,按下 Alt-Sysrq-W 获恰当前寄存器信息  。

            linux/Documentation/sysrq.txt  。另外  ,最好关闭终端的自动 blank 功效  ,这样系统死的时间至少能从屏幕上看到一些信息  。设置要领是:

            # echo 1 > /proc/sys/kernel/sysrq

            # setterm -blank

            这两个设置最好加到系统启动剧本中 (好比 /etc/rc.d/rc.local) ,保证每次启动都能获得运行 。

            若是很不幸  ,键盘也死悄悄了  ,(更为不幸的是  ,这种情形很常见) ,那么也不是只有等死一个措施  ,这时可以用串口终端 (serial console)将系统信息发送

            到另一台系统上  ,这样可以通过对这些信息剖析来定位问题  。设置要领如下:

            准备事情

            1. 一台被监视的服务器  ,一台举行监视事情的PC  。

            2. 一根串口直连线  。

            设置

            1. 在服务器上  ,加入一个新的 grub 项目  ,增添焦点参数 "console=ttyS0 console=tty1"  ,如:

            kernel /boot/vmlinuz-2.4.21-9.30AXsmp ro root=LABEL=/1 console=ttyS0

            console=tty1

            2. 在服务器上  ,修改 /etc/sysconfig/syslog  ,加入 klogd 选项 "-c 7" ,保证更多内核信息获得输出  。如:

            KLOGD_OPTIONS="-x -c 7"

            3. 重新启动服务器

            4. 用串口直连线毗连两台机械 ,测试:

            1) 在PC上运行 "cat /dev/ttyS0"  ,在服务器上运行 "echo hi > /dev/ttyS0"  ,看在 PC 上是否有 "hi" 输出  。

            2) 在PC上运行 "cat /dev/ttyS0" ,在服务器上运行 "echo w > /proc/sysrq-trigger"  ,看 PC 上是否有响应内核信息输出  。

            3) 在PC上运行 "cat /dev/ttyS0" ,在服务器上运行 "modprobe loop"  ,看 PC 上是否有响应内核信息输出  。

            5. 若是测试通过  ,那么在 PC 上运行:cat /dev/ttyS0 | tee /tmp/result

            另外  ,也可以用 Windows 超级终端获得串口信息  。

            that's it.

            此外  ,一些焦点支持 LKCD, netdump 等调试功效  ,也可以一试  。

            剩下的  ,就只有靠履历和运气了  ,一样平常造成 Linux 系统死机的缘故原由有:

            系统硬件问题 (SCSI 卡 ,主板  ,RAID 卡 ,网卡 ,硬盘...)

            外围硬件问题 (终端切换器  ,网络...)

            软件问题

            驱动 bug (去找更新的驱动试试)

            焦点系统 bug (去 LKML 上看看 ,或换个焦点试试)

            系统设置

            最后  ,google一把  。有时间你可以直接输入 "Linux 系统死机怎么办 ?"

            PE6650 经常死机"  ,看有没有人遇到过和你同样的问题 。纵然没有找到  ,也是一个有助于剖析问题的信息  ,至少说明你的系统可能有和其他人差别之处  。

            观察 Linux 系统死机问题  ,这既是科学又是艺术 ,牵涉到众多的硬件软件知识和履历  ,是一个不停学习的历程