[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: mmap: Cannot allocate memory?



I made a bit of progress on this.  I get the error when I have the cache that is controlled by the set_cachesize command in the DB_CONFIG files set to large.  I think that the reason that db_recover has helped me in the past was because I had lowered the cache size, but neglected to run db_recover at the time.  So running db_recover shrunk the cache size.

What I still don't understand is why it is giving me the out of memory error.  At the time that I was getting the error, the sum of my cachesize's from all of the databases was ~2GB.  I have 3GB of real memory (most of which is free) and another 3GB of swap.  After I lowered the total of the cache's (and ran db_recover), I was able to start the server.

Does anyone know what system limitation I may be running into, by trying to use larger cache sizes?  I guess I have never completely understood how that cache works.  When I set up the cache, it creates a __db.002 file which is the same size as the cache in the database directory.  When I start an ldap server, it only uses about 10 mb of memory initially, even though the cache size is set to 128 mb.  What is the point of setting the cachesize if all it does is create a disk cache in the same place?  

Thanks to anyone who can clear up my confusion, 

Dan