GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So verwenden Sie das Magic SysRq-Tool in CentOS / RHEL

Was ist das SysRq-Dienstprogramm

Falls Ihr Kernel einfriert oder/und hängt, können Sie das „magische“ SysRq-Tool verwenden. Der „magische“ SysRq-Schlüssel ermöglicht den sofortigen Zugriff auf mehrere wichtige Kernel-Befehle, darunter Sync, Unmount, Kill-Prozesse, ShowMem, ShowPc und ReBoot. Gemäß der Linux-Kernel-Dokumentation:

Es ist eine „magische“ Tastenkombination, auf die Sie drücken können, auf die der Kernel reagiert, unabhängig davon, was er sonst noch tut, selbst wenn die Konsole nicht reagiert.

So aktivieren Sie SysRq

Die SysRq-Taste kann durch Setzen des „Magic SysRq“ aktiviert werden. Sie müssen sicherstellen, dass die kernel.sysrq in sysctl.conf richtig eingestellt ist:

kernel.sysrq = 1 (SysRq turned ON)
kernel.sysrq = 0 (SysRq turned OFF)
Hinweis :Auf CentOS/RHEL 7 sollten Sie die Änderungen in „/usr/lib/sysctl.d/50-default.conf“ vornehmen

Die obigen Einstellungen stellen sicher, dass SysRq nach dem Systemstart standardmäßig aktiviert ist (standardmäßig ist es in CentOS/RHEL deaktiviert). Um es zu aktivieren, führen Sie es sofort in der aktuellen Sitzung aus und verwenden Sie den folgenden Befehl:

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

Und um es wieder zu deaktivieren:

# echo 0 > /proc/sys/kernel/sysrq
HINWEIS :Da die Aktivierung von SysRq jemandem mit physischem Konsolenzugriff zusätzliche Möglichkeiten gibt, wird empfohlen, es zu deaktivieren, wenn kein Problem behoben wird oder um sicherzustellen, dass der physische Konsolenzugriff ordnungsgemäß gesichert ist.

So lösen Sie ein SysRq-Ereignis aus

Es gibt mehrere Möglichkeiten, ein SysRq-Ereignis auszulösen. Auf den meisten Architekturen können SysRq-Ereignisse von der Konsole aus mit der folgenden Tastenkombination ausgelöst werden:

Alt+PrintScreen+[CommandKey]

Der PrintScreen ist der Schlüssel, der in den meisten Linux-Systemen als SysRq-Schlüssel verwendet wird.

Um auf ein nicht reagierendes System zuzugreifen, drücken Sie Alt+SysRq und H, um eine Liste mit Optionen zu erhalten. Unterschiedliche Kernel-Versionen können unterschiedliche Optionen haben. Um die unterstützten Optionen für Ihren aktuellen Kernel zu erhalten, können Sie den folgenden Befehl als root ausführen:

# echo h > /proc/sysrq-trigger

und überprüfen Sie die dmesg-Ausgabe. Unten ist ein Beispiel für ein RHEL 7-System:

# dmesg
[ 4338.124035] 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)

Arten von SysRq-Ereignissen

Es gibt mehrere SysRq-Ereignisse, die ausgelöst werden können, sobald die SysRq-Funktion aktiviert ist. Diese variieren etwas zwischen den Kernelversionen, aber es gibt einige, die häufig verwendet werden:

Schlüssel Funktion
m Dump-Informationen über die Speicherzuweisung
t Thread-Statusinformationen ausgeben
p Aktuelle CPU-Register und Flags ausgeben
c das System absichtlich zum Absturz bringen (Kernel Panic). Nützlich zum Erfassen eines VMcores über kdump.
s alle gemounteten Dateisysteme sofort synchronisieren
du alle Dateisysteme sofort wieder schreibgeschützt einhängen
b Starten Sie den Computer sofort neu
o Maschine sofort ausschalten (falls konfiguriert und unterstützt)
f den Out-of-Memory-Killer (OOM) starten
w gibt Tasks aus, die sich in einem unterbrechungsfreien (blockierten) Zustand befinden

So lösen Sie ein SysRq-Ereignis von der Root-Shell aus

Wenn Sie eine Root-Shell auf dem Rechner haben (und das System ausreichend reagiert, um dies zu tun), können Sie das Befehlsschlüsselzeichen auch in /proc/sysrq-trigger schreiben Datei. Dies ist nützlich, um diese Informationen auszulösen, wenn Sie sich nicht auf der Systemkonsole befinden, oder um sie von Skripten aus auszulösen.

# echo 'm' > /proc/sysrq-trigger

Diese Methode hat den zusätzlichen Vorteil, dass sie auch dann funktioniert, wenn kernel.sysrq auf 0 gesetzt.

CentOS / RHEL 6 :So konfigurieren Sie kdump
CentOS / RHEL 7 :So konfigurieren Sie kdump


Cent OS
  1. CentOS / RHEL 6,7 :So verwenden Sie den Yum-Verlauf, um ein Yum-Update rückgängig zu machen

  2. So ändern Sie Kernel-Semaphor-Limits in CentOS/RHEL

  3. So verwenden Sie iptables anstelle von firewalld unter CentOS/RHEL 7 und 8

  4. CentOS / RHEL 6 :So konfigurieren Sie kdump

  5. CentOS / RHEL 7 :So konfigurieren Sie kdump

So installieren Sie Check_MK (Überwachungstool) unter CentOS 7 / RHEL 7

Verwendung von tmpfs unter RHEL/CentOS 7

So installieren Sie Cacti unter CentOS 7 / RHEL 7 – Ein Netzwerküberwachungstool

So booten Sie in CentOS 8 / RHEL 8 in den Einzelbenutzermodus

So installieren und verwenden Sie Firewalld in CentOS / RHEL

CentOS / RHEL 7 :So konfigurieren Sie kdump mit der GUI