Veröffentlicht: 11.01.2017
Aktualisiert: 03.03.2026
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, zwischenzuspeichern. Wie viel das ist, hängt von der Systemeinstellung der Maschine ab.
Diese kann mit dem Befehl
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. Beispielsweise zeigt der Wert „10“ an, dass bei einem RAM mit 12 GB 1,2 GB für die Zwischenspeicherung genutzt wird..
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.
