Magic SysRq

Poniższy artykuł pochodzi ze strony Noname blog. Niestety nie udało mi się skontaktować z jej autorem, a uważam, że artykuł zasługuje na nieco szerszy odbiór, dlatego postanowiłem go dodać.

Magiczny Sysrq jest to działający na poziomie kernela zestaw skrótów klawiszowych służących do ratowania systemu z ciężkich opresji. Gdy proces się zapętli albo zawiesi uniemożliwiając dalszą pracę na komputerze wtedy mogą przydać się te skróty. Aby używać SysRq po SSH wymagane są uprawnienia roota.

Za i przeciw

Zauważ, że do tych opcji mają dostęp wszyscy korzystający z twojego komputera. Opcja ta może być niezalecana w przypadku gdy fizyczny dostęp do komputera mają osoby lubiące trochę popsuć.. Zalecana natomiast jest gdy na komputerze robimy dużo by go zawiesić albo w przypadku niestabilnego systemu (np. z powodu sprzętu).

Uaktywnienie

Aby włączyć obsługę SysRq należy edytować plik /etc/sysctl.conf dowolnym edytorem i umieścić w nim wpis:

kernel.sysrq = 1

W celu zastosowania zmian należy wydać polecenie jako root:

sysctl -p

Skróty

Alt + SysRq + r
Wyłącza tryb bezpośredni klawiatury i ustawia w tryb XLATE. Pozwala na wysłanie kombinacji Ctrl+Alt+Del nawet wtedy, kiedy zawiesi się aktualna sesja Xów obsługująca klawiaturę

Alt + SysRq + k
Sekwencja SAK (Secure Access Key), zabija wszystkie procesy w aktualnej konsoli

Alt + SysRq + b
Natychmiastowy twardy reboot, bez synchronizacji i odmontowania dysków.
Uwaga! W większości przypadków możliwe uszkodzenie systemu plików.

Alt + SysRq + c
Restart kexec z otrzymaniem raportu crashdump

Alt + SysRq + o
Wyłącza system ( jeśli jest skonfigurowany i obsługiwany )

Alt + SysRq + s
Wykonuje próbę synchronizacji wszystkich zamontowanych systemów plików. Kombinacja bardzo przydatna jeśli musisz wymusić reboot, a nie chcesz ryzykować utratą lub uszkodzeniem danych.

Alt + SysRq + u
Wykonuje próbę ponownego montowania systemów plików w trybie read-only

Alt + SysRq + p
Wyświetla w konsoli listę aktualnych rejestrów i flag procesora

Alt + SysRq + t
Wyświetla w konsoli listę aktualnych procesów oraz informację o nich

Alt + SysRq + m
Wyświetla w konsoli aktualne informacje dotyczące pamięci

Alt + SysRq + 0-9
Ustawia poziom logowania. 0 – najniższy poziom ( komunikaty awaryjne jak PANIC lub OOPSS )

Alt + SysRq + f
Wywołuje oom_kill ( Out of memory killer )

Alt + SysRq + e
Wysyła sygnał SIGTERM do wszystkich procesów, za wyjątkiem procesów init.

Alt + SysRq + i
Wysyła sygnał SIGKILL do wszystkich procesów, za wyjątkiem procesów init.

Alt + SysRq + l
Wysyła sygnał SIGKILL do wszystkich procesów, również do procesów init.

Jak najbezpieczniej restartować komputer gdy się zawiesi ?

Na lokalnym komputerze:

Alt+SysRq+s, Alt+SysRq+u, Alt+SysRq+b

Na zdalnym komputerze:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger
Źródło: Magic SysRq
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • pioruns

    Ten artykuł natchniony wczorajszymi postami z forum Ubuntu o kilkuset megabajtowych obrazkach TIF?;-)

    • Szmitas

      Nie, nie. Wpis został już zaplanowany dawno i widocznie nastąpił taki zbieg okoliczności :)

  • orneo1212

    zawsze myslalem ze o tym wszyscy wiedza ja tam zawsze uzywalem Alt + SysRq + k aby zabic wszystkie procesy (restart X) gdy sie zawiesil. Uzytwalem tego w ubuntu gdzie domyslnie jest wylaczona kombinacja CTRL + ALT + BACKSPACE.

    • http://www.qkiz.pl QkiZ

      Tyle, że po kombinacji Ctrl+Alt+Backspace X wstają po komendzie. Po zastosowaniu Alt+SystRq+k X już nie wstaną.

      • Admc

        Jak to nie wstają? U mnie wstają

        • Szmitas

          A u mnie nie.

        • http://www.qkiz.pl QkiZ

          Widać zależy od konfiguracji, kompa,…

  • EuGene

    Ja nauczony jestem do „wbijania” R E I S U B.
    Kiedy przychodzi mi wykonać tę operację, to ewentualny obserwator patrzy na mnie jak na magika. Pewnie stąd nazwa Magic SysRq hehe