increasing set_cachsize() in cyrusdb_berkeley.c

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


I seem to have had the same problem mentioned in:

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

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?. 

Home Page:
List Archives/Info:

More information about the Info-cyrus mailing list