Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
使用 SysRq 对 Linux 实例进行故障排查
系统请求 (SysRq) 键(有时称为“magic SysRq”)可用于在 Shell 外直接向内核发送命令,无论内核正在执行什么操作,内核都会响应。例如,如果实例已停止响应,则可以使用 SysRq 密钥告诉内核崩溃或重新启动。有关更多信息,请参阅 Wikipedia 中的 Magic SysRq 键。
在使用 SysRq 之前,请确保您已完成先决条件,包括授予串行控制台访问权限和配置 SysRq。
使用 SysRq
您可以在基于 EC2 Serial Console 浏览器的客户端中或 SSH 客户端中使用 SysRq 命令。每个客户端发送中断请求的命令都不同。
要使用 SysRq,请根据您正在使用的客户端选择以下程序之一。
- Browser-based client
-
在串行控制台基于浏览器的客户端中使用 SysRq
-
连接到实例的串行控制台。
-
要发送中断请求,请按 CTRL+0
(零)。如果您的键盘支持,还可以使用暂停或中断键发送中断请求。
[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 客户端。