increasing set_cachsize() in cyrusdb_berkeley.c

Andreas S. Kerber ask at andreas.kerber.name
Fri Feb 13 07:34:09 EST 2004


Hi,

I seem to have had the same problem mentioned in:

http://www.faqchest.com/prgm/cyrus-l/cyrus-02/cyrus-0212/cyrus-021202/cyrus02120822_34566.html

The berkeley db cache size, which I believe is defined in lib/cyrusdb_berkeley.c,
seems to be 64k. Has anybody ever increased this value and could share his
experience?


This morning incoming mailvolume to one of our murder backends jumped within
a few minutes to an unusual and very impressive, ~30 lmtp deliveries per
second :-)
This caused DBERROR message to increase to up to 1000 lockers and
than something seems to have run out of memory:

[... lots of "lockers" increasing within 5 minutes from 50 to 1000 ...]
Feb 13 10:52:19 re lmtpd[26299]: DBERROR db4: 1003 lockers 
Feb 13 10:52:19 re lmtpd[26991]: DBERROR db4: 1004 lockers 
Feb 13 10:52:19 re lmtpd[28869]: DBERROR db4: Unable to allocate memory for transaction detail 
Feb 13 10:52:19 re lmtpd[28858]: DBERROR db4: 1005 lockers 
Feb 13 10:52:19 re lmtpd[28869]: DBERROR: mystore: error beginning txn: Cannot allocate memory 
[...]

BTW: This backend server runs db-4.1.25 from SuSE 9.0 and a self compiled
2.1.16 cyrus-imap.

I've just set reasonable "maxchild" values on our frontend servers for 
the lmtpproxy process and therfore don't expect to see this problem again. But
I wonder what else I could optimize in our murder (overall performace feels
really good). Could a higher value for set_cachsize() do some good?. 

Andreas
---
Home Page: http://asg.web.cmu.edu/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