Limit IMAP processes

Jan Kowalsky jankow at datenkollektiv.net
Wed Dec 2 14:03:49 CET 2015


Hi Mike,

Am 27.11.2015 um 23:06 schrieb Brady, Mike:
> On 2015-11-28 10:13, Hermann Himmelbauer wrote:
>> Hi,
>> I'm using Kolab 3.4, which run perfectly. However, it seems that the
>> amount of IMAP processes that fork are not limited. After a time of e.g.
>> 2-3 weeks, the amount of IMAP processes exceed 300 and is still
>> increasing (it's a small setup with e.g. 2-4 clients). I then have to
>> restart IMAP.
>>
>> Is there any way to prevent this?
>>
>> Best Regards,
>> Hermann
> 
> In cyrus.conf under services
> 
> imap                cmd="imapd" listen="imap" prefork=20 maxchild=512
> 
> man cyrus.conf for other options

I was asking about the problem with too many processes a few weeks ago
under the topic "cyrus doesn't shutdown if processes exceed a limit
about 700 threads".

Do you have any idea? We haven't set any limits in cyrus.conf so far.
But when the number of processes exceeds about 600-700 Threads, we
simply can't restart cyrus clearly.

But as I understand the maxchild setting right, if this value is reached
new users can't connect.

(https://lists.andrew.cmu.edu/pipermail/info-cyrus/2010-May/033002.html)

What are reasonable settings for this?

------------- actual settings -----------------

SERVICES {
    # add or remove based on preferences
    imap                cmd="imapd" listen="imap" prefork=5
    imaps               cmd="imapd -s" listen="imaps" prefork=1
    pop3                cmd="pop3d" listen="pop3" prefork=3
    pop3s               cmd="pop3d -s" listen="pop3s" prefork=1
    sieve               cmd="timsieved" listen="sieve" prefork=0

    ptloader    cmd="ptloader -D"
listen="/srv/imap/config/ptclient/ptsock" prefork=0


    # these are only necessary if receiving/exporting usenet via NNTP
    #nntp               cmd="nntpd" listen="nntp" prefork=3
    #nntps              cmd="nntpd -s" listen="nntps" prefork=1

    # at least one LMTP is required for delivery
    #lmtp               cmd="lmtpd" listen="lmtp" prefork=0
    lmtpunix    cmd="lmtpd" listen="/srv/imap/config/socket/lmtp" prefork=1

    # this is only necessary if using notifications
    notify      cmd="notifyd" listen="/srv/imap/config/socket/notify"
proto="udp" prefork=1
}
-----------------------------------------

Thanks and Regards
Jan


More information about the users mailing list