HACK#52 SysRq键
本节介绍SysRq键的功能和使用方法。
SysRq键一般在键盘的右上方。Magic System Request Key(Magic SysRq)就是指通过这个SysRq键获取内核信息的功能。一般可以通过proc文件系统或命令来获取信息。但是如果系统死机,就无法输入命令。SysRq键可以直接从内核输出信息。只要不是禁止中断状态,即使死机时也可以获取信息。SysRq键在确认内核运行、调查内核死机原因等各种情况下都非常有效。
使用方法
要使用SysRq键,需要启用内核配置CONFIG_MAGIC_SYSRQ,编译内核。
make menuconfg
Kernel hacking—->
[*]Magic SysRq key
RedHat系列的发布版的内核中并未安装SysRq功能。
启动后可以使用sysctl来切换启用、禁用。有的发布版在启动时是禁用的。可以使用下列命令来启用。
sysctl-w kernel.sysrq=1
或
echo 1>/proc/sys/kernel/sysrq
如果在/proc/sys/kernel/sysrq中设置为1,则所有SysRq键都可以使用。这个特殊文件的值是位掩码,还可以通过添加数字来限制可使用的SysRq键的命令。各值如表7-1所示。括号内为命令键(关于命令键将在后面介绍)。
要允许Sync(s)和重新挂载(u),而不能进行其他操作,可以进行如下设置。
echo 48>/proc/sys/kernel/sysrq
这个控制是从键盘和串行(serial)接口限制控制台的输入。后面将介绍的/proc/sysrq-trigger的操作没有限制。
另外,在内核启动参数中,无论/proc/sys/kernel/sysrq的设置如何,都可以启用SysRq键。
boot>linux sysrq_always_enabled
这个内核启动参数在Linux 2.6.20以后的版本中可以使用。