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
Dieser Beitrag wurde unter News abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

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

  1. Andreas sagt:

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

  2. Patrick Baber sagt:

    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?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.