Memory footprint reduction possible ?

Rob Mueller robm at
Tue Nov 22 08:34:18 EST 2005

>Understand that the mapped virtual memory represents files that are
>mmap()'d into memory (likely most are part of the database files), but
>the pages are not necessarily loaded into memory until they're read.
>I'd guess the bulk of the memory in your RSS (resident size set; the
>physical memory that's actually used) are the per-mailbox database
>header cache files (and possibly the squat indexes).  Do you use

Actually more likely is the mailboxes.db, at least on our systems it is.

$ ps -auxw | grep imapd
cyrus    30471  0.0  0.0 155512 2492 ?       S    08:13   0:00 imapd
cyrus    30472  0.0  0.0 155892 2628 ?       S    08:13   0:00 imapd

$ ls -l /var/imap/mailboxes.db
-rw-------    1 cyrus    cyrus    131552696 Nov 22 08:20 

It seems the implementation of the skiplist database requires the entire 
database to be mmaped into memory, thus causing the large apparent process 
size (155M, of which 131M is the mailboxes.db). It's generally not a 
problem, since that 131M is the same memory shared between each process, and 
may not even be actual used memory if that data isn't swapped in.


More information about the Info-cyrus mailing list