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 死機不慌:從頂層負載排查到 Magic SysRq 安全重啟全攻略

編輯:Linux 教學

Linux 會死機嗎?會。最常見是系統負載過高(如 Fork 炸彈、記憶體耗盡)。關鍵在於:死機後如何安全、不丟資料地恢復?本文提供分級應對方案:從文字介面殺進程,到核心級 Magic SysRq 安全重啟,最後底牌——硬體重啟。

級別一:負載過高、鍵盤仍有響應 → 切換 TTY 殺進程

  1. 切換文字介面:按 Ctrl+Alt+F1(F1-F6 均可),等待切換到 TTY 登入提示符
  2. 登入系統:輸入帳號密碼(輸入可能延遲,耐心等待)
  3. 定位兇手:執行 top,觀察 1-2 次刷新,記下佔用 CPU/記憶體最高的 PID
  4. 優雅結束:kill → 觀察負載下降
  5. 強制殺死:若無效,kill -KILL (SIGKILL,必殺)

⚠️ 切勿嘗試圖形介面工具(如 GNOME 系統監視器),會進一步加重負載,雪上加霜。

級別二:鍵盤滑鼠全無響應、系統疑似完全凍結 → Magic SysRq 安全重啟

鍵盤無響應不代表核心已死。Magic SysRq 繞過圖形子系統,直接向核心發送底層指令,實現「有序關機→同步磁碟→只讀掛載→重啟」全流程,極大降低檔案系統損壞風險。

前置條件:啟用 SysRq

echo 1 > /proc/sys/kernel/sysrq

永久生效請寫入 /etc/sysctl.conf:kernel.sysrq = 1

操作序列:REISUB(按住 Alt+PrintScreen/SysRq,依序輸入字母)

鍵動作中文說明
RunRaw從 X Server 奪回鍵盤控制權
EtErminate向所有進程發送 SIGTERM,讓其優雅退出
IkIll向所有進程發送 SIGKILL,強制終止
SSync將所有記憶體資料同步刷入磁碟
UUnmount將所有分區重掛載為唯讀
BreBoot重啟系統

記憶口訣: BUSIER(busy 比較級,「更忙」)倒寫即為 REISUB。順序絕不可亂,否則可能資料未同步即重啟。

級別三:Magic SysRq 也無效 → 硬體重啟(最後手段)

長按電源鍵 4 秒強制斷電,或按機箱 Reset 鍵。風險:檔案系統可能損壞,下次啟動需跑 fsck 修復。

實戰避坑指南

  • 💡 平時就啟用 SysRq,事發時臨時開啟來不及
  • 💡 重要服務配置 Systemd/啟動腳本自動重啟,減少人工介入
  • 💡 定期演練:在測試機觸發高負載,練習 TTY 殺進程與 REISUB 流程
  • 💡 記錄現場:REISUB 前若能截圖 top/dmesg,事後複盤極有價值

結語

Linux 死機本就罕見,遇到也有分級應對:TTY+kill 解決 90% 高負載;REISUB 安全重啟解決 99% 凍結;硬重啟僅作最後防線。掌握這套組合拳,讓死機從「災難」降級為「小插曲」。

Copyright © Windows教程網 All Rights Reserved