I have inherited a Cyrus IMAP server and need help to resolve some issues I'm having with it. It has basically run fine over the last 6 Months, but in the last few days the following errors have appeared
DBERROR db4: Logging region out of memory; you may need to increase its size
DBERROR: opening /var/imap/deliver.db: Cannot allocate memory
DBERROR: opening /var/imap/deliver.db: cyrusdb error
DBERROR db4: Logging region out of memory; you may need to increase its size
DBERROR: opening /var/imap/tls_sessions.db: Cannot allocate memory
DBERROR: opening /var/imap/tls_sessions.db: cyrusdb error
Re-starting cyrus appears to have solved the problem for now, but in an attempt to prevent the problem re-occurring I did some research on the web. This led me to the DB_CONFIG file. In particular the setting I wanted to try were
set_lg_regionmax 131072
set_lg_bsize 524288
set_flags DB_LOG_AUTOREMOVE
Before I made this change I ran the following commands
zombie ~ # db4.2_stat /var/imap/deliver.db -l
40988 Log magic number.
8 Log version number.
32KB Log record cache size.
0660 Log file mode.
10Mb Current log file size.
Log bytes written.
Log bytes written since last checkpoint.
0 Total log file writes.
0 Total log file write due to overflow.
0 Total log file flushes.
1 Current log file number.
28 Current log file offset.
0 On-disk log file number.
0 On-disk log file offset.
0 Max commits in a log flush.
0 Min commits in a log flush.
96KB Log region size.
0 The number of region locks granted after waiting.
0 The number of region locks granted without waiting.
zombie ~ # db4.2_stat /var/imap/tls_sessions.db -l
40988 Log magic number.
8 Log version number.
32KB Log record cache size.
0660 Log file mode.
10Mb Current log file size.
Log bytes written.
Log bytes written since last checkpoint.
0 Total log file writes.
0 Total log file write due to overflow.
0 Total log file flushes.
1 Current log file number.
28 Current log file offset.
0 On-disk log file number.
0 On-disk log file offset.
0 Max commits in a log flush.
0 Min commits in a log flush.
96KB Log region size.
0 The number of region locks granted after waiting.
0 The number of region locks granted without waiting.
I then shutdown cyrus (and exim the mailer configured) and created DB_CONFIG ensuring the permissions were set to cyrus:mail.
I then ran the command
db4.2_recover -h /var/imap/ -v
db_recover: Finding last valid log LSN: file: 1 offset 28
And restarted the services I had stopped. I repeated the db4.2_stat commands and unfortunately the output is the same. What am I missing? As it appears the DB_CONFIG file is being ignored. Once I had this issue I also tried placing DB_CONFIG in /var/imap/db and repeating the process this had no effect on the effected files either.
My System is Gentoo packages
dev-libs/cyrus-sasl-2.1.20
net-mail/cyrus-imap-admin-2.2.10
net-mail/cyrus-imapd-2.2.12
sys-libs/db-4.2.52_p2.
The system supports less than 1000 mailboxes. Any help you could offer would be appreciated.
-- Clint Dilks Linux Administrator Computing & Mathematical Sciences The University of Waikato, New Zealand Phone : 64 7 8384536 http://www.scms.waikato.ac.nz/ |
---- 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