Debian, Gnu, Linux, Antonio De Luci, imu, Open Source, Free Software, Gnome, Kde, Xfce4, E17, Repository, Deb
salta alla navigazione

Magic Key Sysrq, quando l’inevitabile diventa evitabile 19 Settembre 2007 - 8:00

Inviato da Antonio De Luci (imu) in : Guide, Kernel, Linux, O.S. Revolution, Tips , trackback

sysrq Stamp key

Per sicurezza dovrete controllare il config del vostro kernel in uso :

$ egrep -i sysrq /boot/config-$(uname -r)
CONFIG_MAGIC_SYSRQ=y

Se la risposta è positiva come in questo esempio siete a cavallo !

Per tutti quelli che amano compilarsi un kernel proprio, ricordo che la voce relativa ai ” sysrq key” si trova nella sezione “Kernel hacking” :

sysqr key kernel page

Un controllo successivo va fatto sul file ” /proc/sys/kernel/sysrq ” , dove dal numero risultante che otterremo capiremo cosa è abilitato o meno :

Possibili risultati :

0 - Completamente disabilitato
1 - Abilitate tutte le funzioni di sysrq
>1 - in base al numero si abilitano determinate funzioni (segue lista descrizione):

2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signalling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

Bene eseguiamo il controllo :

$ cat /proc/sys/kernel/sysrq
1

Nel caso invece volessimo disattivare o abilitare determinate opzioni basterà da root eseguire :

# echo "number” >/proc/sys/kernel/sysrq

Dove number può assumere i valori presenti nella tabella o la somma degli stessi nel caso volessimo abilitare più opzioni contemporaneamente.

Perfetto passiamo all’azione, le combinazioni magiche che saremo in grado di usare sono le seguenti :

Alt + Stamp + LETTERA (sostituire con una delle seguenti)

b - Riavvia il sistema senza smontare o fare in syncing dei dischi.
c - Effettua un riavvio di kexec per prendere un crashdump.
d - Mostra tutti i blocchi.
e - Invia a tutti i processi tranne a quelli di init un SIGTERM
f - Uccide il processo più esoso di memoria
g - Usa kgdb su piattaforme ppc e sh
h - Visualizza l’aiuto (veramente l’aiuto viene visualizzato usando tutti i tasti non inseriti nell’elenco, ma usate la h perchè è molto più semplice ricordarlo) :-)
i - Invia a tutti i processi eccetto quelli di init un SIGKILL
k - Secure Access Key (SAK) Uccide tutti i programmi sulla console virtuale corrente.
NOTA: Leggete i commenti importantissimi nella sezione SAK.
m - Visualizza informazioni della memoria .
n - Used to make RT tasks nice-able
o - Eseguie uno Shut Down del sistema (se configurato e supportato).
p - Visualizza i registri e flags correnti.
q - Mostra la lista di tutti i timers avviati.
r - setta la tastiera in XLATE.
s - Esegue un sync di tutti i filesystem montati.
t - Mostra tutti i processi.
u - Rimonta tutti filesystems in sola lettura.
v - Mostra informazioni su processori Voyager SMP.
w - Visualizza tutti i tasks bloccati.
x - Usato dall’interfaccia xmon su piattaforme ppc/powerpc.
0-9 - setta il livello di loging della console, mostrerà i messaggi del kernel sulla console. (0 ad esempio fa in modo di mostrare solo i messaggi di emergenza quali PANICs or OOPSes )

Rifarsi comunque alla documentazione ufficiale in lingua inglese, che trovate installando i sorgenti del kernel e leggendo il file :

Documentation/sysrq.txt

Arrivati a questo punto immaginate di essere nel mezzo di un freeze del Server grafico, tutto bloccato apparentemente, magari riuscite a fare lo switch sulle ttyN, forse non riuscite nemmeno a vedere le scritte etc etc. Bene prima di premere il tasto Reset proviamo a digitare queste combinazioni di tasti :

(vi indico quello che faccio io in questi casi, ma sono ben accetti consigli sul miglior metodo di seguenza da usare)

Cerco di terminare correttamente i processi, tranne quelli di INIT:

Alt + Stamp +  e

Dopo qualche secondo ( in media 5/6 in modo da permettere alla combinazione precedente di terminare i processi in modo corretto) Uccido il resto dei processi , sempre tranne quelli di INIT:

Alt + Stamp + i

Faccio un sync dei dischi:

Alt + Stamp + s

Rimonto i filesystems in sola lettura (importantissimo dopo il sync)

Alt + Stamp + u

Riavvio il sistema:

Alt + Stamp + b

Ora divertitevi …

Commenti»

1. Linux Nvidia driver e kernel 2.6.25-rc* | O.S. Revolution - 31 Marzo 2008- 1:06

[...] diventava un immagine statica, non riuscivo ad accedere alla TTY e per finire non funzionavano i Magic SysRQ Key. Controllando nel Changelog dell’ultima rc del kernel (2.6.25-rc7) ho visto un fix molto [...]

Usa WordPress WordPress 2.5
2. Stemby - 11 Aprile 2008- 12:43

Ciao Imu, ti segnalo che anche in questo post la funzione “convert this post to pdf” non funziona (nel caso non ne fossi a conoscenza).

Usa Debian IceWeasel Debian IceWeasel 2.0.0.12 con Debian GNU/Linux Debian GNU/Linux
3. Antonio De Luci (imu) - 11 Aprile 2008- 13:32

@Stemby
Non ho tempo per sistemarlo e visto che php5 non è totalmente supportato ed è fermo al 13/10/2007 ed a wp 2.2 (io ho la 2.5) credo che cercherò un alternativa. Per ora lo disabilito! Grazie

Usa Debian IceWeasel Debian IceWeasel 2.0.0.13 con Debian GNU/Linux Debian GNU/Linux
4. Magic SysRq key e archlinux « il blog di ugaciaka - 26 Luglio 2008- 11:28

[...] essere sicuri che il kernel in uso abbia questa possibilità, leggere qui per ulteriori informazioni. Aggiungo solo che le configurazioni del kernel, per qualsiasi distro [...]

Usa WordPress WordPress MU
5. Forzare il reboot di Linux… « JP’s Web Place - 9 Settembre 2008- 8:23

[...] sulla Rete ho trovato un eccellente post in italiano che parla in modo dettagliato dei Magic SysRq: ve lo consiglio [...]

Usa WordPress WordPress MU