>>>>> On Fri, 22 Feb 2002 10:09:37 +0100, >>>>> Simon Matter <[EMAIL PROTECTED]> (sm) writes:
sm> I have upgraded to db4 today, db3 libs are still there for other sm> applications. I have then recompiled my cyrus-imapd RPM version 2.1.2. sm> Feb 22 10:06:46 dhcp-141-104 pop3d[2135]: DBERROR db3: 8 lockers sm> Feb 22 10:06:46 dhcp-141-104 pop3d[2136]: DBERROR db3: 9 lockers sm> Feb 22 10:06:46 dhcp-141-104 pop3d[2139]: DBERROR db3: 10 lockers sm> Feb 22 10:07:13 dhcp-141-104 imapd[2149]: DBERROR db3: 14 lockers To some extent these are normal for BDB. I'm not sure why Sleepycat chose to log these at error level. I've also never been able to figure out exactly what trips this message to be logged. Very roughly there should be somewhere around as many lockers as Cyrus processes. This will vary somewhat depending on whether you're using SSL/TLS or not. Here's my understanding of things. The lmtpd process will typically have two read locks: one for deliver.db and another for mailboxes.db. Other Cyrus processes can have: one for mailboxes.db and another for tls_sessions.db, depending on whether SSL/TLS is being used. Then any of these processes can open write locks (via cursor) to update these db files. You can check the current status of lockers by using the db_stat command. First become the "cyrus" user, then cd to the "db" directory where the "__db.*" files are at, typically "/var/imap/db". Then you can run db_stat with the -c option: $ /usr/local/BerkeleyDB.4.0/bin/db_stat -c 18898 Last allocated locker ID. 9 Number of lock modes. 50000 Maximum number of locks possible. 50000 Maximum number of lockers possible. 50000 Maximum number of objects possible. 216M Current locks. 4294M Maximum number of locks so far. 2147 Current number of lockers. 2152 Maximum number lockers so far. 0 Current number lock objects. 16 Maximum number of lock objects so far. 274M Number of lock requests. 274M Number of lock releases. 0 Number of lock requests that would have waited. 1188 Number of lock conflicts. 2 Number of deadlocks. 0 Number of transaction timeouts. 0 Number of lock timeouts. 19MB 624KB Lock region size (20561920 bytes). 267M The number of region locks granted after waiting. 2271M The number of region locks granted without waiting. You might see a rise in lockers if you experience a lot of Cyrus processes that crash unexpectedly. Search your logs for the string 'exited, signaled'. Now, 2.1.2 goes a long way to improve the run-away lockers I was seeing previously. However, I *think* there still might be a tiny leak somewhere. I'm not sure if it is something stupid I'm doing, a leak elsewhere in the code, or something crashing my Cyrus processes. One thing I have observed is that someone using Mozilla periodically seems to generate an 'exited, signaled to death by 10' when using SSL with POP. What's odd is that it doesn't seem to happen all the time, just occasionally. Though, I'm not entirely sure that alone is the cause of the rising lockers since the number of lockers seems to be growing faster than his 'death by 10' incidents. Still looking into it. -- Amos