使用 SysRq 疑難排解您的 Linux 執行個體
系統要求 (SysRq) 金鑰,有時稱為「神奇 SysRq」,可以用來在 shell 之外直接向核心傳送命令,無論核心正在執行什麼操作,都會回應。例如,如果執行個體已停止回應,您可以使用 SysRq 金鑰告訴核心當機或重新開機。如需詳細資訊,請參閱 Wikipedia 中的神奇 SysRq 金鑰。
在使用 SysRq 之前,請確定您已完成先決條件,其中包括將存取權授予序列主控台以及設定 SysRq。
使用 SysRq
您可以在以 EC2 序列主控台瀏覽器為基礎的用戶端或 SSH 用戶端中使用 SysRq 命令。每個用戶端傳送中斷請求的命令是不同的。
若要使用 SysRq,請根據您所使用的用戶端選擇下列其中一個程序。
- Browser-based client
-
在序列主控台瀏覽器型用戶端中使用 SysRq
-
連線到執行個體的序列主控台。
-
若要傳送中斷請求,請按 CTRL+0
(零)。如果您的鍵盤支援,您也可以使用「暫停」或「Break」鍵來傳送中斷請求。
[ec2-user ~]$
CTRL+0
-
若要發出 SysRq 命令,請按鍵盤上對應至所需命令的按鍵。例如,若要顯示 SysRq 命令清單,請按 h
。
[ec2-user ~]$
h
h
命令會輸出類似下列內容。
[ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems
(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r
) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
- SSH client
-
在 SSH 用戶端中使用 SysRq
-
連線到執行個體的序列主控台。
-
若要傳送中斷請求,請按下 ~B
(波狀符號,後面接著大寫 B
)。
[ec2-user ~]$
~B
-
若要發出 SysRq 命令,請按鍵盤上對應至所需命令的按鍵。例如,若要顯示 SysRq 命令清單,請按 h
。
[ec2-user ~]$
h
h
命令會輸出類似下列內容。
[ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems
(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r
) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
根據您使用的 SSH 用戶端,您用於傳送中斷請求的命令可能會有所不同。