HOME

TheInfoList



OR:

The magic SysRq key is a key combination understood by the
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
, which allows the user to perform various low-level commands regardless of the system's state. It is often used to recover from freezes, or to
reboot In computing, rebooting is the process by which a running computer system is restarted, either intentionally or unintentionally. Reboots can be either a cold reboot (alternatively known as a hard reboot) in which the power to the system is physi ...
a computer without corrupting the filesystem. This key combination provides access to features for disaster recovery. In this sense, it can be considered a form of
escape sequence In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding (and possibly terminating) characters. Examples * In C and ma ...
. Principal among the offered commands are means to forcibly unmount file systems, kill processes, recover keyboard state, and write unwritten data to disk. The magic SysRq key cannot work under certain conditions, such as a
kernel panic A kernel panic (sometimes abbreviated as KP) is a safety measure taken by an operating system's Kernel (operating system), kernel upon detecting an internal Fatal system error, fatal error in which either it is unable to safely recover or con ...
or a hardware failure preventing the kernel from running properly.


Implementation

The Linux kernel contains sysrq.c, which implements magic SysRq functionality. Magic SysRq functionality is called by serial devices at a low level in the driver code.


Commands

The key combination consists of and another key, which controls the command issued. may be released before pressing the command key, as long as remains held down. The combinations always assume the
QWERTY QWERTY ( ) is a keyboard layout for Latin-script alphabets. The name comes from the order of the first six Computer keyboard keys#Types, keys on the top letter row of the keyboard: . The QWERTY design is based on a layout included in the Sh ...
keyboard layout. For example, on the
Dvorak keyboard layout Dvorak () is a keyboard layout for English patented in 1936 by August Dvorak and his brother-in-law, William Dealey, as a faster and more ergonomic alternative to the QWERTY layout (the ''de facto'' standard keyboard layout). Dvorak proponen ...
, the combination to shut down the system uses the key instead of . Furthermore, some keyboards may not provide a separate key. In this case, a separate key should be present. On some devices, notably laptops, the key may need to be pressed to use the magic key, e.g. on Thinkpad Carbon X1 the is activated by pressing simultaneously, then releasing and while still holding . SysRq functionalities can also be accessed without a keyboard. See below. Note that some commands may be disabled out of the box as specified in the
bitmask In computer science, a mask or bitmask is data that is used for bitwise operations, particularly in a bit field. Using a mask, multiple bits in a byte, nibble, word, etc. can be set either on or off, or inverted from on to off (or vice versa) in ...
value in /proc/sys/kernel/sysrq. Example output of the command: 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) force-fb(v) show-blocked-tasks(w) dump-ftrace-buffer(z) dump-sched-ext(D) replay-kernel-logs(R) reset-sched-ext(S)


Configuration

The feature is controlled both by a compile-time option in the kernel configuration, , and a
sysctl sysctl is a software mechanism in some Unix-like operating systems that reads and modifies the attributes of the system kernel such as its version number, maximum limits, and security settings. It is available both as a system call for compile ...
kernel parameter, . On newer kernels (since 2.6.12), it is possible to have more fine-grained control over how the magic SysRq key can be used. On these machines, the number written to can be 0, 1, or a number greater than 1 which is a bitmask indicating which features to allow. On Ubuntu this is set at boot time to the value defined in .


Uses

Before the advent of journaled filesystems a common use of the magic SysRq key was to perform a safe reboot of a locked-up Linux computer (using the sequence of key presses indicated by the mnemonic REISUB), which lessened the risk of filesystem corruption. With modern filesystems, syncing and unmounting is still useful to force unflushed data to disk, but is no longer necessary to prevent filesystem corruption (and may increase the risk of corruption in case the lock-up is caused by the kernel being in a bad state). The default value of ''kernel.sysrq'' in distributions such as Ubuntu and Debian remains 176 (allowing the sync, unmount, and reboot functions) and 438 (allowing the same functions plus loglevel, unraw, and nice-all-RT-tasks) respectively. Another past use was to kill a frozen graphical program, as the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
used to have complete control over the graphical mode and input devices. On distributions that do not include a command, the key sequence may be able to force a switch to a text console. Some systems may require use of or instead of .


Other ways to invoke Magic SysRq

While the magic SysRq key was originally implemented as part of the kernel's keyboard handler for debugging, the functionality has been also exposed via the proc filesystem and is commonly used to provide extended management capabilities to headless and remote systems. From user space programs (such as a command line shell), SysRq may be accessed by writing to (e.g., ). Many embedded systems have no attached keyboard, but instead use a serial console for text input/output to the running system. It is possible to invoke a Magic SysRq feature over a serial console by sending a serial break signal, followed by the desired key. The method of sending a break is dependent on the terminal program or hardware used to connect to the serial console. A
sysctl sysctl is a software mechanism in some Unix-like operating systems that reads and modifies the attributes of the system kernel such as its version number, maximum limits, and security settings. It is available both as a system call for compile ...
option needs to be set to enable this function. The Linux daemons and provide a method of accessing SysRq features over a TCP connection after authenticating with a plain-text password. The daemon will invoke pre-configured SysRq triggers when system load average exceeds a certain threshold. The Xen hypervisor has functionality to send magic commands to hosted domains via its command. Additionally, a SysRq command can be invoked from a Xen paravirtual console by sending a break sequence followed by the desired key. The
Kernel-based_Virtual_Machine Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the Kernel (operating system), kernel to function as a hypervisor. It was merged into the Mainline Linux, mainline Linux kernel i ...
(KVM) hypervisor has functionality to send magic commands to hosted domains via its command. eg:
virsh send-key --domain domainname --keycode KEY_LEFTALT KEY_SYSRQ KEY_S
Chromebook Chromebook (sometimes stylized in lowercase as chromebook) is a line of laptops, desktops, tablets and all-in-one computers that run ChromeOS, a proprietary operating system developed by Google. Chromebooks are optimised for web access. They al ...
s have a keyboard but no dedicated SysRq key. They use () instead, however some keys have a different function. IBM
Power Systems IBM Power Systems is a family of server computers from IBM that are based on its Power processors. It was created in 2008 as a merger of the System p and System i product lines. History IBM had two distinct POWER- and PowerPC-based hardwar ...
servers can invoke the Magic SysRq feature using followed by the desired key from the Hardware Management Console. IBM mainframe partitions can invoke the Magic SysRq feature using followed by the desired key on 3270 or HMC.


See also

* Stop-A, key sequence used to access
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
's
Open Firmware Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems where it was known as OpenBoot, and has bee ...
(OpenBoot) *
Console server A terminal server connects devices with a serial port to a local area network (LAN). Products marketed as terminal servers can be very simple devices that do not offer any security functionality, such as data encryption and user authentication. ...
*
KVM switch A KVM switch (with KVM being an abbreviation for "keyboard, video, and mouse") is a hardware device that allows a user to control multiple computers from one or more sets of keyboards, video monitors, and mouse. Name Switches to connect ...
*
System console A computer terminal is an electronic or electromechanical computer hardware, hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to ...


References


External links

* * * * *{{cite web , url=http://www.ibm.com/developerworks/linux/library/l-magic.html , title= Magic sys request , publisher=
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
, work = Developer works , first= Tom , last= Gall , date= 2000-04-01 , archiveurl= https://web.archive.org/web/20070527215139/http://www.ibm.com/developerworks/linux/library/l-magic.html , archivedate= 2007-05-27 , url-status= dead , accessdate= 2013-09-03 Linux kernel features System administration Out-of-band management