26Aug

Utilisez la clé Magic SysRq sous Linux pour réparer les serveurs X gelés, redémarrer proprement et exécuter d'autres commandes de bas niveau

clé sysrq

Sous Linux, la clé magique SysRq peut envoyer des commandes directement au noyau Linux. Vous pouvez l'utiliser pour récupérer des gels ou redémarrer proprement votre système, même si rien ne semble répondre.

La clé magique SysRq est implémentée dans le pilote de clavier de Linux - elle fonctionnera tant que le noyau Linux est en cours d'exécution. Seul un kernel panic devrait désactiver cette combinaison de touches.

Crédit photo: solylunafamilia sur Flickr

Utilisation de la touche Magic SysRq

La touche SysRq est située près de la touche Arrêt défil de votre clavier - la touche Sys Rq est généralement la même que la touche Impr écran. La combinaison SysRq "magique" est Alt + SysRq.

Pour utiliser cette combinaison de touches, votre noyau Linux doit avoir été compilé avec l'option de compilation CONFIG_MAGIC_SYSRQ - la plupart des distributions Linux auront cette option activée par défaut. En supposant qu'il est compilé dans votre noyau, il peut être activé ou désactivé sur un système en cours d'exécution en changeant la valeur de /proc/sys/kernel/ sysrq. Pour vérifier si elle est activée, exécutez la commande suivante:

cat /proc/sys/kernel/ sysrq

Si vous voyez un "1", la clé magique SysRq est activée.

image

Si vous voyez un "0", vous devrez l'activer vous-même en exécutant la commande suivante en tant que root:

echo "1" & gt;/proc/sys/kernel/ sysrq

Traitement d'un serveur X gelé

Si votre serveur X( le programme qui exécute votre bureau graphique) se bloque, vous risquez de ne pas pouvoir utiliser votre système. Il y a quelques commandes SysRq magiques qui peuvent aider:

  • Alt + SysRq + - Prend le clavier hors du mode brut, prenant le contrôle loin du serveur X.Après avoir exécuté cette combinaison, vous devriez pouvoir utiliser les raccourcis clavier Ctrl + Alt + F1( et autres touches F) pour passer à une autre console et redémarrer X.
  • Alt + SysRq + - Tue tous les programmes sur le courantconsole virtuelle, y compris X. Vous pouvez également activer le raccourci clavier Ctrl + Alt + Retour arrière dans les préférences de clavier d'Ubuntu pour redémarrer votre serveur X. Cependant, ce raccourci est implémenté par le serveur X et peut ne pas toujours fonctionner.

Redémarrer proprement votre système

Utilisées en séquence, certaines de ces actions peuvent être utilisées pour terminer proprement les processus, vider les données sur le disque, démonter tous les systèmes de fichiers et redémarrer votre ordinateur. Pour effectuer ce processus, maintenez la combinaison de touches Alt + SysRq enfoncée et - tout en maintenant les touches Alt et SysRq enfoncées - tapez les touches suivantes dans l'ordre, en faisant une pause de plusieurs secondes entre chaque touche:

reisub

La mnémonique " R lephants S aster B oring "est souvent utilisé pour se souvenir de cette séquence. Voici ce que fait chaque touche:

  • r - Met le clavier en mode brut, en prenant le contrôle du serveur X.
  • e - Envoie le signal de terminaison à tous les processus, leur demandant de se terminer avec élégance.
  • i - Envoie le signal kill à tous les processus, les forçant à se terminer immédiatement.
  • s - Vide les données de votre cache sur le disque.
  • - Remonte tous les systèmes de fichiers en lecture seule.
  • b - Redémarre votre ordinateur.

Autres commandes

Voici d'autres actions que vous pouvez effectuer avec la touche magique SysRq. Pour effectuer une action, maintenez les touches Alt + SysRq enfoncées tout en tapant la lettre:

  • n - Réinitialise le bon niveau( priorité) de tous les processus prioritaires haute et temps réel.
  • f - Appelle oom_kill, qui va tuer un processus de mémoire-hogging.
  • o - Éteint l'ordinateur.

Il y a d'autres actions, mais elles peuvent être plus utiles aux développeurs que le geek Linux moyen. Pour plus d'informations sur la clé magique SysRq - et une liste complète des actions que vous pouvez effectuer - consultez le fichier sysrq.txt inclus avec le noyau Linux.