Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 死機根因分析全流程:硬體排查、SysRq 魔法鍵、串口控制台、內核參數調試

編輯:Linux 教學

系統死機歸因於硬體或軟體。本文提供從硬體排查到內核級調試的完整分析體系。

一、硬體層面排查 (優先)

  1. 禁止超頻:Linux 高負載易暴露超頻不穩,恢復預設頻率
  2. 驗證電源輸出:高負載下電壓穩定、功率充足
  3. 記憶體測試:memtest86 完整跑過多輪
  4. BIOS 恢復預設:排除錯誤參數干擾
  5. 伺服器專用工具:IPMI、iDRAC、iLO 等帶外管理模組自帶診斷

二、軟體層面:獲取死機瞬間內核資訊

1. 啟用 Magic SysRq (鍵盤尚可響應時)

echo 1 > /proc/sys/kernel/sysrq
setterm -blank 0   # 關閉螢幕保護,保留畫面資訊

死機瞬間組合鍵:

組合鍵輸出資訊
Alt+SysRq+T所有進程堆疊回溯
Alt+SysRq+M記憶體分配狀態
Alt+SysRq+WCPU 寄存器狀態

完整鍵位參考 /usr/src/linux/Documentation/sysrq.txt。

2. 增加主控台顯示行數 (看更多內核訊息)

# /boot/grub/menu.lst
kernel /boot/vmlinuz-... ro root=/LABEL=/ vga=0x305
# vga=0x305 → 80x25 文字模式

3. 串口控制台 (鍵盤已死、需遠程捕獲)

GRUB 參數:

kernel /boot/vmlinuz-... ro root=/LABEL=/ console=ttyS0 console=tty1

syslog 設定:

# /etc/sysconfig/syslog
KLOGD_OPTIONS="-x -c 7"   # 級別 7 (debug) 全輸出

驗證連線:

  1. 串口直連線連接客戶機 (捕獲端) 與服務器 (故障端)
  2. 客戶機:cat /dev/ttyS0
  3. 服務器:echo hi > /dev/ttyS0 → 客戶機顯示 hi 即通

觸發測試:

# 服務器執行
echo w > /proc/sysrq-trigger   # 等同 Alt+SysRq+W
modprobe loop                  # 觸發模組載入訊息

客戶機若顯示對應內核訊息,鏈路暢通。

正式捕獲:

# 客戶機持續記錄
cat /dev/ttyS0 | tee /tmp/result
# 死機發生時,/tmp/result 保留完整內核輸出

三、常見死機根因清單

  • 硬體:SCSI/HBA/RAID/網卡/硬碟/主板故障
  • 外圍:網路風暴、交換機故障
  • 軟體:應用洩漏、死鎖、佔滿資源
  • 驅動 Bug:升級/降級驅動驗證
  • 內核 Bug:查閱 LKML、嘗試不同內核版本
  • 配置錯誤:恢復預設、關閉防火牆測試

方法論總結

硬體優先、SysRq 次之、串口兜底、參數調試、社區求助 —— 系統化排查讓死機不再是黑盒。

Copyright © Windows教程網 All Rights Reserved