Linux Problem „task ….. blocked for more than 120 seconds“

Wenn Sie auf Ihrem Linux System folgende Fehlermeldung bereits auf dem Login Bildschirm der Konsole sehen:

INFO: task ...... blocked for more than 120 seconds.

kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

Dann hängt das mit großer Wahrscheinlichkeit mit dem File Caching innerhalb des Hauptspeichers der Linux Maschine zusammen. Linux benutzt Teile des Hauptspeichers um vor allem Schreiboperationen bevor diese auf die Festplatte gespeichert werden zwischen zu speichern. Wie viel das ist hängt von der Systemeinstellung der Maschine ab. Diese kann mit

sysctl -a | grep dirty

abgefragt werden.

Zwei Werte sind hierbei wichtig.

vm.dirty_background_ratio: Dieser gibt den prozentualen Wert des Hauptspeichers an der für die Zwischenspeicherung benutzt wird. Z. B. bei einem RAM mit 10 GB wird also 1 GB für die Zwischenspeicherung genutzt.

vm.dirty_ratio: Gibt das absolute Maximum des Hauptspeichers an welcher für die Zwischenspeicherung benutzt werden kann. Ist dieser Wert erreicht werden alle neuen I/O Anfragen von Prozessen so lange geblockt bis die gecachten Werte auf die Festplatte geschrieben sind.

Um Fehler wie oben zu vermeiden sollten die Werte dann heruntergesetzt werden. Wobei vm.dirty_ratio immer höher sein sollte. Ganz deaktivieren kann man die Werte mit der Angabe 0. Dies ist vor allem bei Virtuellen Maschinen empfehlenswert die auf einem Linux Hypervisor laufen.

War dieser Eintrag hilfreich?

Aktualisiert: 11. Januar 2017
Autor: Norman Sommer
ID: 2572

Serverstandort Deutschland

Für Ihre Datensicherheit: Wir hosten alle Systeme in unserem eigenen Rechenzentrum in Reutlingen, Baden-Württemberg.