Cyrus 2.5.9 imapd children count grows and exceeds limit
Andy Dorman
adorman at ironicdesign.com
Sun Sep 11 23:01:16 EDT 2016
Hi everyone. We have 14 Debian servers running the current Debian
release of Cyrus imap 2.5.9.
We upgraded from 2.4.18 to 2.5.9 on Aug 28, upgraded the cyrus.conf &
imapd.conf to rename the deprecated options and switch from skiplist to
twoskip for all our dbs. Our cyrus.conf and imapd.con (minus comments)
is at the end of this email.
We now have 4 of the 14 servers where the number of imapd processes
slowly grows and usually within 12-14 hours reaches the imapd process
limit (currently set to 100). From what we can tell watching the
process list, the old processes are never shut down after reaching their
usage limit (which is the default).
The difference between the 4 with the problem and the others have to be
the mail clients. Each server supports a different group of mail
domains and users, so I suspect some of the users on the problem servers
are using one or more mail clients that are not well behaved, but I have
no indication of what they are doing wrong.
While we had this problem intermittently with 2.4.18 (once or twice a
month on a random server), it is much worse since the update to 2.5.9.
We now have to restart imapd on all the problem servers almost twice a day.
If it matters, we have tried both idled and polling and have not seen
any difference.
So has anyone else seen an issue like this? Does anyone have any
suggestions on how to debug?
We have examined syslog and do not see any strange reports outside of
the normal berkeley DBERROR messages we always see due to bdb compiled
into the debian Cyrus release.
===== cyrus.conf =====
START {
recover cmd="/usr/sbin/cyrus ctl_cyrusdb -r"
idle cmd="idled"
delprune cmd="/usr/sbin/cyrus expire -E 3"
tlsprune cmd="/usr/sbin/cyrus tls_prune"
}
SERVICES {
imap cmd="imapd" listen="*:imap" prefork=5 maxchild=100
imaps cmd="imapd -s" listen="*:imaps" prefork=5 maxchild=100
lmtp cmd="lmtpd" listen="*:lmtp" prefork=5 maxchild=20
sieve cmd="timsieved" listen="*:sieve" prefork=0 maxchild=100
}
EVENTS {
checkpoint cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30
delprune cmd="/usr/sbin/cyrus expire -E 3" period=120
tlsprune cmd="/usr/sbin/cyrus tls_prune" period=60
resquat cmd="/usr/sbin/cyrus squatter -s -r -i *" at=0437
}
===== imapd.conf =====
admins: cyrus
allowallsubscribe: on
allowanonymouslogin: no
allowplaintext: on
altnamespace: on
annotation_db: twoskip
anyoneuseracl: off
autocreate_quota: 512000
configdirectory: /var/lib/cyrus
defaultdomain: ironicdesign.com
defaultpartition: default
duplicate_db: twoskip
expunge_mode: delayed
fulldirhash: on
guid_mode: sha1
hashimapspool: on
idlesocket: /var/run/cyrus/socket/idle
improved_mboxlist_sort: on
lmtp_downcase_rcpt: on
lmtpsocket: /var/run/cyrus/socket/lmtp
mboxname_lockpath: /run/cyrus/lock
notifysocket: /var/run/cyrus/socket/notify
partition-default: /var/spool/cyrus/mail
popminpoll: 1
proc_path: /run/cyrus/proc
quota_db: twoskip
sasl_log_level: 7
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd
sasl_minimum_layer: 0
allowapop: no
sieveusehomedir: false
sievedir: /var/spool/cyrus/sieve
statuscache_db: twoskip
syslog_prefix: cyrus
tls_sessions_db: twoskip
tls_client_ca_file: /etc/ssl/certs/mail.ironicdesign.com.pem
tls_client_ca_dir: /etc/ssl/certs
# The rest of our TLS setup
tls_server_cert: /etc/ssl/certs/mail.ironicdesign.com.pem
tls_server_key: /etc/ssl/certs/mail.ironicdesign.com.pem
tls_session_timeout: 1440
tls_ciphers: TLSv1+HIGH:!aNULL:@STRENGTH
tls_versions: tls1_0 tls1_1 tls1_2
umask: 077
unix_group_enable: off
unixhierarchysep: on
userdeny_db: twoskip
virtdomains: userid
sieve_extensions: fileinto reject vacation imapflags notify envelope
body relational regex subaddress copy
===== end imapd.conf =====
Thanks for any ideas on what to look for or how to debug this.
--
Andy Dorman
Ironic Design, Inc.
AnteSpam.com
More information about the Info-cyrus
mailing list