[elephant-devel] Cannot allocate memory

Walter C. Pelissero walter at pelissero.de
Wed Feb 23 16:44:46 UTC 2005


Looks as I've been hitting some DB limit but I haven't found out which
one.

At the 376th iteration of a stress test I got a sleepycat:db-error
(Berkeley DB error: Cannot allocate memory).  Each test iteration is
wrapped in a transaction, so I really don't understand what is
consuming Sleepycat DB resources.

If I had to guess from "db_stat -c" I'd say I'm running out of locks:

  360% db_stat-4.2 -c
  18      Last allocated locker ID.
  2147M   Current maximum unused locker ID.
  9       Number of lock modes.
  1000    Maximum number of locks possible.
  1000    Maximum number of lockers possible.
  1000    Maximum number of lock objects possible.
  1004    Number of current locks.
  1005    Maximum number of locks at any one time.
  10      Number of current lockers.
  11      Maximum number of lockers at any one time.
  576     Number of current lock objects.
  897     Maximum number of lock objects at any one time.
  5305968 Total number of locks requested.
  5296499 Total number of locks released.
  0       Total number of lock requests failing because DB_LOCK_NOWAIT was set.
  0       Total number of locks not immediately available due to conflicts.
  0       Number of deadlocks.
  0       Lock timeout value.
  0       Number of locks that have timed out.
  0       Transaction timeout value.
  0       Number of transactions that have timed out.
  360KB   The size of the lock region..
  0       The number of region locks granted after waiting.
  5331227 The number of region locks granted without waiting.

Is that right?  If so, how am I supposed to limit the number of locks
held by my code/elephant?

-- 
walter pelissero
http://www.pelissero.de



More information about the elephant-devel mailing list