Changes

Jump to: navigation, search

Magic SysRq Key

2,272 bytes added, 08:57, 13 June 2006
Initial edition of article
It is a 'magical' key combo you can hit which the kernel will respond to
regardless of whatever else it is doing, unless it is completely locked up.

When running a kernel with SysRq compiled in (that's right in openVZ case),
<tt>/proc/sys/kernel/sysrq</tt> controls the functions allowed to be invoked via the SysRq key.
Here is the list of possible values in <tt>/proc/sys/kernel/sysrq</tt>:<br>

<tt>0</tt> - disable sysrq completely<br>
<tt>1</tt> - enable all functions of sysrq<br>
><tt>1</tt> - bitmask of allowed sysrq functions<br>

You can set the value in the file by the following command:
<pre>
echo "number" >/proc/sys/kernel/sysrq
</pre>

To use SysRq feature you should press the key combo 'ALT-SysRq-<command key>'.
The 'SysRq' key is also known as the 'Print Screen' key. Other way, if you don't have
physical access to the node, only ssh, you can do
<pre>
echo "command key" > /proc/sysrq-trigger
</pre>

Here is the list of most useful command keys:

<tt>b</tt> - Will immediately reboot the system without syncing or unmounting
your disks.<br>
<tt>s</tt> - Will attempt to sync all mounted filesystems.<br>
<tt>u</tt> - Will attempt to remount all mounted filesystems read-only.<br>
<tt>p</tt> - Will dump the current registers and flags to your console.<br>
<tt>t</tt> - Will dump a list of current tasks and their information to your
console.<br>
<tt>m</tt> - Will dump current memory info to your console.<br>
<tt>0</tt>-<tt>9</tt> - Sets the console log level, controlling which kernel messages
will be printed to your console. ('0', for example would make
it so that only emergency messages like PANICs or OOPSes would
make it to your console.)<br>
<tt>f</tt> - Will call oom_kill to kill a memory hog process<br>
<tt>e</tt> - Send a SIGTERM to all processes, except for init.<br>
<tt>i</tt> - Send a SIGKILL to all processes, except for init.<br>
<tt>h</tt> - Will display help<br>

All ouptput will be on console or in <tt>/var/log/messages</tt>

Example of using SysRq. Suppose for some strange reason your system is working slow and you want to
ask developers what happens, then don't forget to press
<tt>alt-sysrq-p</tt> and <tt>alt-sysrq-t</tt> several times,
and attach <tt>/var/log/messages</tt> to request.

[[Category: Troubleshooting]]
172
edits

Navigation menu