Portál AbcLinuxu, 24. dubna 2024 07:24

Magická klávesa SysRQ

11. 7. 2007 | Mark Stopka
Články - Magická klávesa SysRQ  

Linux je stabilní systém, ale i tak někdy se stane, že jej potkají nějaké problémy. V takovém případě doporučuji vyzkoušet, co umí magická klávesa SysRQ.

Klávesa SysRQ je určena k řešení problémů v případě, že se něco nad kernelem pokazí. Používají ji také vývojáři k debugování. Běžně s její pomocí dokážete resetovat X server, případně vám dokáže pomoct v případě, že musíte restartovat celý počítač - předejdete poškození souborového systému.

Co je třeba

Ke správné funkci musí být její podpora zakompilovaná v kernelu, což zajišťuje volba Magic SysRQ Key v části Kernel Hacking. Dále musí být její použití povoleno - to zkontrolujete tak, že si vypíšete obsah v /proc/sys/kernel/sysrq pomocí příkazu

cat /proc/sys/kernel/sysrq

V případě, že příkaz vypíše číslo 1, je vše v pořádku. Pokud číslo 0, tak musíte její funkci povolit. Můžete tak učinit dočasně, pomocí příkazu

echo "1" > /proc/sys/kernel/sysrq

nebo trvale přidáním řádku kernel.sysrq = 1 do souboru /etc/sysctl.conf. To provedete třeba příkazem

echo "kernel.sysrq = 1" >> /etc/sysctl.conf

Jednotlivé funkce

Alt+SysRq+r
Uvolní myš a klávesnici z držení X serveru, potom není problém i v zatuhlém systému stisknout ALT+F{1,2,3,4,5,6} a přepnout se tak do textové konsole, ze které můžete killnout x-server.
Alt+SysRQ+b
Něco jako tlačítko reset. Rebootuje bez syncování disku a bez unmountování. Většinou se vyplatí použít v kombinaci s Alt+SysRQ+s a Alt+SysRQ+u; nemělo by pak dojít k poškození filesystému.
Alt+SysRQ+k
Tato kombinace zabije všechny procesy na současném terminálu.
Alt+SysRQ+o
Vypnutí prostřednictvím APM subsystému.
Alt+SysRQ+s
Zapíše všechna data z diskových cachí na disk. Občas bývá tato operace označována jako sync. Hojně se to používá v kombinaci s Alt+SysRQ+u a Alt+SysRQ+b k bezpečnému restartování, pokud zatuhne systém.
Alt+SysRQ+u
Tato kombinace přemountuje všechny připojené filesystémy do režimu pouze pro čtení. Opět se používá v kombinaci s Alt+SysRQ+s a Alt+SysRQ+b pro bezpečné restartování.
Alt+SysRQ+m
Vypíše informace o paměti na terminál. V openSUSE se informace vypisují na 10. terminál (ALT+F10).
Alt+SysRQ+e
Pošle signál SIGTERM všem procesům, vyjma procesu init.
Alt+SysRQ+i
Pošle signál SIGKILL všem procesům, vyjma procesu init.
Alt+SysRQ+l
Pošle signál SIGKILL všem procesům, včetně procesu init.
Alt+SysRQ+f
Zavolá oom_kill, což zabije proces, který spotřebovává všechnu dostupnou paměť.
Alt+SysRQ+t
Vypíše seznam o běžících procesech na terminál a také nějaké bližší informace k těmto procesům. V openSUSE se informace vypisují na 10. terminál (ALT+F10).
Alt+SysRQ+h
Vypíše nápovědu k SysRQ na terminál. Stejně bude reagovat i libovolná další klávesa, která není namapována na nějakou funkci. V openSUSE se informace vypisují na 10. terminál (ALT+F10).
Alt+SysRQ+(0-9)
Nastaví úroveň logování. Logovací informace jsou vypisovány na terminál. 0 znamená vypisuj jen informace jako je OOPs a PANIC.
Alt+SysRQ+x
Je k dispozici pouze na platformě PowerPC. Používá se pro xmon.

Grafické aplikace

Pokud použijete SysRQ klávesu k sestřelení X serveru, tak nejspíše nedostane čas obnovit text mode na terminálu. To může způsobit, že terminál bude nečitelný. Pokud se tak stane, vyzkoušejte příkaz reset, možná se vám podaří vrátit čitelný terminál.

Jiný přístup

K možnostem SysRQ je možné také přistupovat pomocí souborového systému /proc. Konkrétně pomocí souboru /proc/sysrq-trigger. Pokud do tohoto souboru pošlete písmeno, které připojujete k Alt+SysRQ, například

echo "h" > /proc/sysrq-trigger

tak se stane totéž, jako byste stiskli kombinaci kláves Alt+SysRQ+h - bude tedy na termínál vypsána nápověda ke klávese SysRQ.

Nemusí být až tak špatný nápad si tohle vytisknout a umístit někde poblíž počítače; až to budete potřebovat, tak se na tuhle stránku nejspíše nebudete moct dostat :-).

Více informací, i když v angličtině, najdete v souboru /usr/src/linux/Documentation/sysrq.txt.

Související články

Klávesnice v X
Konfigurace multimediální klávesnice v X
Multimediální a jinak vylepšené klávesnice
Adresár /proc - brána do jadra
Sysfs - brána do jadra

Další články z této rubriky

Praktický test komprese ZPAQ v programu lrzip
Porovnávání souborů PDF
Microsoft rozdává zadarmo stovky e-knih
Minimalistické prezentace s Markdown
Kde hledat Creative Commons a alternativy

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.