Cyr_expire Spiraling Out of Control - help!

Lee lee at disinfo.com
Sat Nov 27 15:37:38 EST 2004


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
#  idled                cmd="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
   # pop3                cmd="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
   checkpoint    cmd="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
   purgetrash    cmd="ipurge -d 21 -f user/%/spam" at=0530
   purgetrash    cmd="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




More information about the Info-cyrus mailing list