Memory consumption and memory management: How does it work ?

James Hague james.hague@REDACTED
Fri Jan 14 20:12:41 CET 2005


>- On another side, calling garbage_collect reduce notably the memory
>footprint. The application memory occupation is still growing constantly
>but, garbage_collect free nearly a quarter of the memory (100 Mo).

Are you using large binaries?  One hole in the Erlang runtime system
is that binaries greater than a certain small size (64 bytes I think)
are allocated outside the current process heap.  This is so they can
be passed to other processes without copying.  But the size of these
binaries are not used to determine when garbage collection is needed. 
If you create large binaries quickly you can fill memory with binaries
before the process heap gets garbage collected.

Someone please jump in if I'm wrong!

James



More information about the erlang-questions mailing list