Direkt zum Inhalt
03.02.2014 - Fachbeitrag

Dovecot 2.2 unter Kernel 3.2.0 (Debian 7) zeigt hohe Load

dovecotDer aktuelle Kernel 3.2.0 (dem Default-Kernel von Debian 7) hat einen Bug im Inotify-Mechanismus, den Dovecot für die Benachrichtigung seiner Mailclients aktiv nutzt. In der Folge beenden sich IMAP-Prozesse ausgeloggter Nutzer nicht mehr richtig, sondern verbleiben im Status "S" (interruptable sleep) in der Prozessliste. Diese Prozesse warten auf eine Rückmeldung im Kernel. Der Workaround ist nur ein Handgriff.

Durch die hängenden IMAP-Prozesse zeigt der Server eine sehr hohe Load -- bei großen Systemen auch drei- und vierstellige Werte. Nicht weiter kritisch, denn die Prozesse verbrauchen weder CPU- noch I/O-Resourcen, belegen aber etwas RAM und nerven.

Abhilfe ist die Installation eines anderen Kernels oder als Workaround die Deaktivierung des Inotify-Mechanismus:

 

echo 0 > /proc/sys/fs/inotify/max_user_instances

echo 0 > /proc/sys/fs/inotify/max_user_watches


Dauerhaft läßt sich das auch in /etc/systctl.conf eintragen:

 

fs.inotify.max_user_instances=0

fs.inotify.max_user_watches=0


Dadurch funktioniert jetzt die IDLE push notification nicht mehr in Echtzeit. Allerdings erhält der User nach 30 Sekunden trotzdem eine Benachrichtigung über neue E-Mails.

 

~# doveconf  | grep mailbox_idle_check_interval

 mailbox_idle_check_interval = 30 secs

 

Kommentare

2 Antworten zu Dovecot 2.2 unter Kernel 3.2.0 (Debian 7) zeigt hohe Load

a-Icon
Andreas
06. February 2014 um 01:59

Danke für die Info. Gibt es dazu auch schon einen Bugreport bei Debian im Tracker?

p-Icon
Patrick Baber
08. April 2014 um 12:20

Danke für diesen Beitrag. Ich hab das alles ganz brav erledigt, allerdings wird mein Warning-Log trotzdem weiter fleißig mit der Meldung "Inotify instance limit for user exceeded, disabling" geflutet. Habt ihr eine Ahnung woran das noch liegen kann?