We recently upgraded to the latest cyrus/sasl. We were using 2.1, so we
need to convert the DBs over to skiplist and update cyrus.conf. We did
that and moved over without problem.
Two days after moving to 2.2, we discovered that all of a sudden mail
was being queued and not delivered on the box. The servers spit out
errors about deliver.db. To solve the problem i removed deliver.db and
everything in the db/* folder. After restarting cyrus, queued mail
quickly started dropping and started being delivered.
After this happened i believed it was the result of running squatter
for the first time (and subsequently failed). However today im looking
at the top process list and there are several cyr_expire process
running from each of last few days (since rebooting cyrus). They are
taking up 99% of the CPU and mkaing the load on the dual proc server
near 4.0.
Does anyone have any idea why cyr_expire is spiraling out of control
and overloading the system?
here's out 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
# idledcmd="idled"
}
# UNIX sockets start with a slash and are put into /var/imap/sockets
SERVICES {
# add or remove based on preferences
imap cmd="imapd" listen="imap" prefork=5
imaps cmd="imapd -s" listen="imaps" prefork=2
# pop3cmd="pop3d" listen="pop3" prefork=3
# pop3s cmd="pop3d -s" listen="pop3s" prefork=1
sieve cmd="timsieved" listen="sieve" prefork=1
# at least one LMTP is required for delivery
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
# lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=1
lmtpunix cmd="lmtpd" listen="/export/cyrus/imap/socket/lmtp"
prefork=1
# lmtpunix cmd="lmtpd"
listen="/export/cyrus/postfix/spool/private/lmtp" prefork=1
# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify"
proto="udp" prefork=1
}
EVENTS {
# this is required
checkpointcmd="ctl_cyrusdb -c" period=30
# this is only necessary if using duplicate delivery suppression
delprune cmd="cyr_expire -E 3" period=1440
# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" period=1440
# delete old spam
purgetrashcmd="ipurge -d 21 -f user/%/spam" at=0530
purgetrashcmd="ipurge -d 1 -f user/%/spam-notcaught" at=0330
}
Sincerely,
Lee
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html