系統死機歸因於硬體或軟體。本文提供從硬體排查到內核級調試的完整分析體系。
memtest86 完整跑過多輪echo 1 > /proc/sys/kernel/sysrq
setterm -blank 0 # 關閉螢幕保護,保留畫面資訊
死機瞬間組合鍵:
| 組合鍵 | 輸出資訊 |
|---|---|
| Alt+SysRq+T | 所有進程堆疊回溯 |
| Alt+SysRq+M | 記憶體分配狀態 |
| Alt+SysRq+W | CPU 寄存器狀態 |
完整鍵位參考 /usr/src/linux/Documentation/sysrq.txt。
# /boot/grub/menu.lst
kernel /boot/vmlinuz-... ro root=/LABEL=/ vga=0x305
# vga=0x305 → 80x25 文字模式
GRUB 參數:
kernel /boot/vmlinuz-... ro root=/LABEL=/ console=ttyS0 console=tty1
syslog 設定:
# /etc/sysconfig/syslog
KLOGD_OPTIONS="-x -c 7" # 級別 7 (debug) 全輸出
驗證連線:
cat /dev/ttyS0echo hi > /dev/ttyS0 → 客戶機顯示 hi 即通觸發測試:
# 服務器執行
echo w > /proc/sysrq-trigger # 等同 Alt+SysRq+W
modprobe loop # 觸發模組載入訊息
客戶機若顯示對應內核訊息,鏈路暢通。
正式捕獲:
# 客戶機持續記錄
cat /dev/ttyS0 | tee /tmp/result
# 死機發生時,/tmp/result 保留完整內核輸出
硬體優先、SysRq 次之、串口兜底、參數調試、社區求助 —— 系統化排查讓死機不再是黑盒。