<i id='155bi'></i>
    1. <span id='155bi'></span>

      <code id='155bi'><strong id='155bi'></strong></code>

    2. <tr id='155bi'><strong id='155bi'></strong><small id='155bi'></small><button id='155bi'></button><li id='155bi'><noscript id='155bi'><big id='155bi'></big><dt id='155bi'></dt></noscript></li></tr><ol id='155bi'><table id='155bi'><blockquote id='155bi'><tbody id='155bi'></tbody></blockquote></table></ol><u id='155bi'></u><kbd id='155bi'><kbd id='155bi'></kbd></kbd>
    3. <acronym id='155bi'><em id='155bi'></em><td id='155bi'><div id='155bi'></div></td></acronym><address id='155bi'><big id='155bi'><big id='155bi'></big><legend id='155bi'></legend></big></address><dl id='155bi'></dl>

      <ins id='155bi'></ins>

          <fieldset id='155bi'></fieldset>
          <i id='155bi'><div id='155bi'><ins id='155bi'></ins></div></i>

          Linux系统“死机”时解决方法

          • 时间:
          • 浏览:9
          • 来源: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 系统死机问题  ,这既是科学又是艺术 ,牵涉到众多的硬件软件知识和履历  ,是一个不停学习的历程