[elephant-devel] Berkeley DB error: Cannot allocate memory.
Ian Eslick
eslick at csail.mit.edu
Fri Jan 4 08:54:09 UTC 2008
Hi Victor,
Sounds like your transaction is blowing out the shared memory
allocated by Berkeley DB to store dirty pages. This is caused by
transactions that are too large; putting an entire file of data could
well accomplish this. (We really should change the error message to
be more informative in these cases).
Try pushing with-transaction into the loop in import-movie as follows:
(defun import-movie (n)
"Import ratings information for movie number N."
(iter (for line in-file (movie-filename n) using 'read-line)
(unless (first-time-p) ; skip first line
(with-transaction ()
(collect-rating-info n line)))))
I expect that will fix it.
Ian
PS - Your data representation sounds fine as a first start. You may
want to rethink it when you start doing queries and in fact may want
to build a custom data structure in static memory for performance
reasons once your algorithms and related queries are clear to you.
PS - You may get some additional mileage by increasing the total
memory cache size (you should lookup whether the transaction size is
correlated with the overall cache size) using the my-config.sexp
option (:berkeley-db-cachesize . 20971520)
On Jan 4, 2008, at 3:15 AM, Leslie P. Polzer wrote:
>
>> I've decided to put elephant 0.9.1 under some heavy load test, and
>> play with Netflix data set a little bit. The attached program that
>> tries to import everything in BerkeleyDB fails when trying to import
>> movie file number 8 with the following traceback. Do you have any
>> idea
>> what could be the problem?
>
> No, but we might if you tell us
>
> - OS
> - RAM
> - Swap limits
> - Kernel limits on memory (e.g. /etc/security/limits.conf for GNU/
> Linux)
> - size of the data you're trying to pull
>
> Leslie
>
> --
> My personal blog: http://blog.viridian-project.de/
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list