Number of imap process increasing over time
Dale J Chatham
dale.chatham at gmail.com
Fri Aug 14 14:58:43 EDT 2015
What a day.
I am sooooo glad it's Friday. I also wish my f key worked.
How have you been?
I am so looking forward to this evening. I've wanted German food for a
while, but I'm looking forard to the company more.
On 8/14/2015 10:11 AM, Shaheen Bakhtiar wrote:
>> On Aug 14, 2015, at 8:03 AM, Dan White <dwhite at olp.net> wrote:
>>
>> On 08/14/15 07:46 -0700, Shaheen Bakhtiar wrote:
>>> Rebuilt our IMAP server from scratch using Cyrus 2.4.17 on FC22 x86_64.
>>> The server is a single process 2.3GH 8 core AMD 64bit with 4G of memory.
>>>
>>> Ever since the rebuild we are experience an ever growing number of imapd
>>> processes, when we first boot the server we have ~200 using 2.4G of
>>> memory. In about 3 to 4 days we have ~1500 imapd processes taking up all
>>> available physical memory and all all available swap memory (an additional
>>> 4G).
>>>
>>> and our logs are filled with messages like:
>>> Aug 14 06:26:01 postoffice kernel: Out of memory: Kill process 15427 (imapd) score 1 or sacrifice child
>>> Aug 14 06:26:01 postoffice kernel: Killed process 15427 (imapd) total-vm:179648kB, anon-rss:7756kB, file-rss:672kB
>> How many processes spawn is configurable within /etc/cyrus.conf. How do you
>> have your imap entries configured?
>>
>> --
>> Dan White
> [shawn at postoffice ~]$ more /etc/cyrus.conf
> # standard standalone server implementation
>
> START {
> # do not delete this entry!
> recover cmd="ctl_cyrusdb -r"
>
> # this is only necessary if using idled for IMAP IDLE
> idled cmd="idled"
> }
>
> # UNIX sockets start with a slash and are put into /var/lib/imap/sockets
> 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
>
> # 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="/var/lib/imap/socket/lmtp" prefork=1
>
> # this is only necessary if using notifications
> # notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1
> }
>
> EVENTS {
> # this is required
> checkpoint cmd="ctl_cyrusdb -c" period=30
>
> # this is only necessary if using duplicate delivery suppression,
> # Sieve or NNTP
> delprune cmd="cyr_expire -E 3" at=0400
>
> # this is only necessary if caching TLS sessions
> tlsprune cmd="tls_prune" at=0400
> }
>
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
More information about the Info-cyrus
mailing list