tons of dovecot/config processes

Arkadiusz Miśkiewicz arekm at maven.pl
Thu Nov 10 08:51:49 UTC 2016


Hi.

I've noticed that dovecot (using 2.2.26.0 here) starts dovecot/config
processes that stay for long time. Example:

[root at ixion-pld ~]# service dovecot restart
Stopping Dovecot service.......................................................................................................................................[ DONE ]
Starting Dovecot service.......................................................................................................................................[ DONE ]
[root at ixion-pld ~]# ps aux|grep dovecot
root     25333  0.0  0.0  13736  2480 ?        Ss   09:40   0:00 /usr/sbin/dovecot
dovecot  25336  0.0  0.0   9480   924 ?        S    09:40   0:00 dovecot/anvil [0 connections]
root     25337  0.0  0.0   9612  2416 ?        S    09:40   0:00 dovecot/log
root     25339  0.0  0.0  12496  3256 ?        S    09:40   0:00 dovecot/config
root     25341  0.0  0.0 132168   888 pts/1    S+   09:40   0:00 grep dovecot
[root at ixion-pld ~]# doveadm reload
[root at ixion-pld ~]# ps aux|grep dovecot
root     25333  0.0  0.0  13872  2720 ?        Ss   09:40   0:00 /usr/sbin/dovecot
dovecot  25336  0.0  0.0   9480   924 ?        S    09:40   0:00 dovecot/anvil [0 connections]
root     25344  0.0  0.0   9612  2428 ?        S    09:40   0:00 dovecot/log
root     25346  0.0  0.0  12496  3192 ?        S    09:40   0:00 dovecot/config
root     25348  0.0  0.0 132168   876 pts/1    S+   09:40   0:00 grep dovecot

so far good - only one dovecot/config. Lets connect to pop3 and keep connection

[root at ixion-pld ~]# telnet localhost pop3
Trying 127.0.0.1.110...
Connected to localhost.
Escape character is '^]'.
+OK Mail server ready.


on the other console

[root at ixion-pld ~]# ps aux|grep dovecot
root     25333  0.0  0.0  13872  2720 ?        Ss   09:40   0:00 /usr/sbin/dovecot
dovecot  25336  0.0  0.0   9480   924 ?        S    09:40   0:00 dovecot/anvil [2 connections]
root     25344  0.0  0.0   9612  2428 ?        S    09:40   0:00 dovecot/log
root     25346  0.0  0.0  12496  3192 ?        S    09:40   0:00 dovecot/config
dovenull 25364  0.0  0.0  20908  4080 ?        S    09:41   0:00 dovecot/pop3-login [127.0.0.1]
dovecot  25365  0.0  0.0 100236  7776 ?        S    09:41   0:00 dovecot/auth [0 wait, 0 passdb, 0 userdb]
root     25368  0.0  0.0 132168   856 pts/1    S+   09:41   0:00 grep dovecot

so there is a client connected and one dovecot/config. Lets reload:

[root at ixion-pld ~]# doveadm reload
[root at ixion-pld ~]# ps aux|grep dovecot
root     25333  0.0  0.0  13872  2752 ?        Ss   09:40   0:00 /usr/sbin/dovecot
dovecot  25336  0.0  0.0   9480   924 ?        S    09:40   0:00 dovecot/anvil [2 connections]
root     25344  0.0  0.0   9612  2428 ?        S    09:40   0:00 dovecot/log
root     25346  0.0  0.0  12920  3700 ?        S    09:40   0:00 dovecot/config
dovenull 25364  0.0  0.0  20908  4080 ?        S    09:41   0:00 dovecot/pop3-login [127.0.0.1]
dovecot  25365  0.0  0.0 100236  7776 ?        S    09:41   0:00 dovecot/auth [0 wait, 0 passdb, 0 userdb]
root     25371  0.0  0.0   9612  2196 ?        S    09:41   0:00 dovecot/log
root     25373  0.0  0.0  12496  3196 ?        S    09:41   0:00 dovecot/config
root     25375  0.0  0.0 132168   856 pts/1    S+   09:41   0:00 grep dovecot

now we have two dovecot/config processes. Second dovecot/config stays there
until client disconnects (what for?).

When clients disconnects we are back to single dovecot/config:

[root at ixion-pld ~]# ps aux|grep dovecot
root     25333  0.0  0.0  13872  2752 ?        Ss   09:40   0:00 /usr/sbin/dovecot
dovecot  25336  0.0  0.0   9480   924 ?        S    09:40   0:00 dovecot/anvil [0 connections]
root     25371  0.0  0.0   9612  2196 ?        S    09:41   0:00 dovecot/log
root     25373  0.0  0.0  12496  3196 ?        S    09:41   0:00 dovecot/config
root     25418  0.0  0.0 132168   852 pts/1    S+   09:43   0:00 grep dovecot


Now on production server where are tons of clients this looks more insane:

# ps aux|grep dovecot/config | wc -l
56

Note that I'm running with
shutdown_clients = no
here (+ high performance auth/login variant).

So looks like something is not right here. Obviously with shutdown_clients=yes
this doesn't occur since clients are disconnected.

doveadm reload can happen every 2 minutes (because dovecot requires
reload when SSL certificates change; new domain gets added, new cert gets
automatically created -> reload, certificate is renewed (every 2 months) -> reload etc)

-- 
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )


More information about the dovecot mailing list