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

„kernel:INFO:task {PROCESS}:{PID} blockiert für mehr als 120 Sekunden.“ – CentOS/RHEL-Fehlerbehebung

Das Problem

Gelegentlich INFO Nachrichten werden unter /var/log/messages protokolliert wie:

Apr 19 03:33:22 host kernel: INFO: task kjournald:2046 blocked for more than 120 seconds.
Apr 19 03:33:22 host kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 19 03:33:22 host kernel: kjournald     D ffff810001004420     0  2046     49          2476  2044 (L-TLB)
Apr 19 03:33:22 host kernel:  ffff81013ce9fdd0 0000000000000046 0000000000000100 0000000000000000
Apr 19 03:33:22 host kernel:  0000000000000000 000000000000000a ffff81013c7d0820 ffffffff80309b60
Apr 19 03:33:22 host kernel:  001b51e0f255644a 0000000000000a88 ffff81013c7d0a08 0000000000000000
Apr 19 03:33:22 host kernel: Call Trace:
Apr 19 03:33:22 host kernel:  [] :jbd:journal_commit_transaction+0x16d/0x1066
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] try_to_del_timer_sync+0x7f/0x88
Apr 19 03:33:22 host kernel:  [] :jbd:kjournald+0xc1/0x213
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:23 host kernel:  [] :jbd:kjournald+0x0/0x213
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0xfe/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0xa/0x11
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0x0/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0x0/0x11

Was sind diese Botschaften und welche Wirkung haben sie?

Die Lösung

Diese Nachricht bedeutet, dass sich der Prozess für 120 Sekunden im Zustand „D“ befindet. In diesem Beispiel hat kjournald über 120 Sekunden auf das Beenden von journal_commit_transaction() gewartet, höchstwahrscheinlich aufgrund der hohen E/A-Zahl einiger Prozesse, da das Journal-Commit eine atomare Funktion ist.

Im Allgemeinen könnte dies ignoriert werden, wenn die Nachrichten nicht so häufig in /var/log/messages protokolliert werden. Dies ist nur eine Information, die darauf hindeutet, dass der Prozess aus irgendwelchen Gründen hängen geblieben ist, was aufgrund von starker E/A, Speicher-/Netzwerktrennung/Verzögerung usw. auftreten könnte.

Nachdem wir diese Meldung gefunden haben, müssen wir also zuerst prüfen, ob diese häufig protokolliert wird, und als nächstes, ob zu diesem Zeitpunkt ein Netzwerk-/Speicherproblem aufgetreten ist.

Schlussfolgerung

Diese Meldungen bedeuten in der Regel, dass das System eine Festplatten- oder Speicherüberlastung aufweist und Prozesse nicht genügend verfügbare Ressourcen haben. Diese Meldungen dienen als Warnung, dass etwas möglicherweise nicht optimal funktioniert. Sie weisen nicht unbedingt auf ein ernsthaftes Problem hin und alle blockierten Prozesse sollten schließlich fortgesetzt werden, wenn das System wiederhergestellt ist. Sie können versuchen, die Ausgabe der folgenden Befehle während des Problems zu erfassen, wenn möglich:

# top -n 5 -b > /tmp/top.out
# vmstat 1 50 > /tmp/vm.out
# iostat -x 2 10 > /tmp/io.out
# ps aux > /tmp/ps.out
# ps auxH > /tmp/psh.out
# sar -A > /tmp/sar.out
# free > /tmp/free.out
# lsof > /tmp/lsof.out

Diese Ausgaben können bei der Diagnose des Problems mit hängendem System oder der Ursache für die INFO-Meldung „Aufgabe für mehr als 120 Sekunden blockiert“ nützlich sein.


Cent OS
  1. CentOS / RHEL 7 :Tipps zur Fehlerbehebung bei NTP / Chrony-Problemen

  2. CentOS / RHEL 7 :So aktivieren Sie Telnet für eine Gruppe von Benutzern

  3. CentOS / RHEL:So aktivieren Sie SSL für Apache

  4. Fehlerbehebung bei häufigen GUI-/X-Window-Problemen unter CentOS/RHEL

  5. Der „nproc“-Wert kann in CentOS/RHEL 6 nicht um mehr als 1024 erhöht werden

FEHLER:Der Kernel-Quellbaum für den aktuell ausgeführten Kernel – CentOS / RHEL / AlmaLinux kann nicht gefunden werden

Ein ultimativer Leitfaden zum Aktualisieren des Kernels auf CentOS/RHEL/Fedora

So installieren Sie Varnish Cache 6 für Nginx unter CentOS/RHEL 8

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

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

CentOS / RHEL :Ausschluss mit Yum für Kernel-Updates