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 Key 完整操作指南

編輯:關於 Linux

Linux 核心以穩定著稱,但在極端情況(硬體故障、核心 panic、驅動程式死循環)下仍可能完全凍結。強制斷電重啟極易造成檔案系統損毀、資料遺失。本文介紹 Magic SysRq Key 安全重啟機制,讓你在系統無回應時也能優雅收尾。

什麼是 Magic SysRq Key?

SysRq (System Request) 是 Linux 核心提供的低層級緊急指令介面,繞過一般輸入子系統直接由核心處理。即使系統看似完全死鎖,只要核心尚在運作,SysRq 指令通常仍能執行。

啟用檢查與設定

# 檢查目前啟用等級(1=全部啟用,>1 為受限,0=關閉)
cat /proc/sys/kernel/sysrq

# 臨時啟用全部功能(需 root)
echo 1 > /proc/sys/kernel/sysrq

# 永久啟用
echo "kernel.sysrq = 1" | sudo tee /etc/sysctl.d/99-sysrq.conf
sudo sysctl --system

注意: 部分雲端主機/嵌入式裝置預設關閉,需先啟用。

經典安全重啟組合鍵:REISUB

組合鍵: Alt + SysRq (PrtSc) + R E I S U B

操作要領:

  1. 按住 Alt + SysRq 不放
  2. 依序輕按 R E I S U B,每鍵間隔 1-2 秒
  3. 建議左手按 Alt+SysRq,右手依序敲擊字母

各鍵功能詳細解析

鍵動作核心行為目的
RRaw將鍵盤從 X 圖形模式切回 XLATE (文字) 模式確保後續按鍵由核心直接接收,不被 X Server 攔截
EtErm發送 SIGTERM 給所有進程 (除 init)禮貌請求進程結束,允許儲存資料、釋放資源
IkIll發送 SIGKILL 給所有進程 (除 init)強制終止未回應 SIGTERM 的進程
SSync緊急同步所有掛載檔案系統將記憶體緩衝資料寫入磁碟,防止資料遺失
UUmount將所有檔案系統重新掛載為唯讀確保無進程再寫入磁碟,檔案系統處於乾淨狀態
BreBoot立即重啟系統(不解掛載、不同步)核心層面重啟,完成安全關機流程

口訣: Reboot Even If System Utterly Broken

其他實用 SysRq 指令

鍵功能適用場景
H顯示說明忘記指令時查閱
L顯示核心堆疊回溯除錯核心死鎖
M顯示記憶體資訊排查 OOM 問題
P顯示暫存器/進程狀態查看 CPU 狀態
T顯示任務清單類似 ps,核心視角
W顯示阻塞任務找出 D 狀態進程
F呼叫 OOM Killer記憶體耗盡緊急釋放
KSecure Access Key (殺死當前終端機所有進程)類似 Ctrl+Alt+Del,但更徹底

無鍵盤/遠端環境下的替代方案

1. /proc 介面(需 Shell 仍可操作)

echo s > /proc/sysrq-trigger  # Sync
echo u > /proc/sysrq-trigger  # Umount
echo b > /proc/sysrq-trigger  # Reboot

2. IPMI / iDRAC / iLO 遠端管理卡

大多數伺服器管理卡支援「虛擬按鍵」功能,可在遠端控制台發送 SysRq 組合鍵。

3. 虛擬機環境

  • VMware:VM → Guest → Send Ctrl+Alt+Delete 不觸發 SysRq,需使用虛擬鍵盤或上述 /proc 方式
  • KVM/QEMU:`virsh send-key KEY_LEFALT KEY_SYSRQ KEY_R ...`

何時不適用

  • 核心已完全 Panic / Hang(Caps Lock/Scroll Lock 燈閃爍通常表示 Kernel Panic)
  • 硬體故障(CPU 過熱、記憶體錯誤、電源異常)
  • SysRq 被編譯時移除或 runtime 關閉 (kernel.sysrq=0)

最佳實踐建議

  1. 預先啟用:在所有生產機器設定 kernel.sysrq=1
  2. 記錄操作:嘗試 SysRq 前後在監控系統標記,便於事後分析
  3. 優先嘗試:若 SSH 仍連線,先用 reboot 或 systemctl reboot;只有 Shell 完全無回應才用 SysRq
  4. 定期演練:在測試環境熟悉手感,真正事故時才能從容操作

Magic SysRq Key 是 Linux 管理員的「最後防線」,掌握 REISUB 組合鍵,能在災難時刻最大程度保護資料完整性。

Copyright © Windows教程網 All Rights Reserved