Out of memory in Db::close -
06-19-2006
, 11:37 AM
Hi there,
I've got a problem (using 4.4.20) whereby I'm getting the "Cannot allocate
memory" message, but oddly it's happening in Db::close.
I've run using the set_errfile() function, and got this message: "malloc: Cannot
allocate memory: 3145764".
The test I'm doing is as follows:
12 DB_BTREE databases being loaded with 5M DB_DUP records (using one pthread per
database), committing every 50000 records.
And I've got three lots of:
10 pthreads querying one of the 12 databases with ad-hoc queries.
I've got the cache size set to 1.5Gb, set_lk_max_locks(200000),
set_lk_max_objects(200000), set_lk_detect(DB_LOCK_DEFAULT).
My environment uses these flags:
DB_CREATE|DB_THREAD|DB_INIT_MPOOL|DB_RECOVER|
DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_TXN|DB_PRIVATE
The machine has 2Gb ram and 2Gb swap. Other than the memory used by locks and
the cache, what other memory allocations could Berkeley be doing that is causing
this problem?
Any help would be very much appreciated,
Thank you,
Donny |