[erlang-questions] Understanding binary heap garbage collection
Ward Bekker (TTY)
ward@REDACTED
Fri Nov 23 09:57:05 CET 2012
Hi,
After an operation with binaries, and manual requesting a garbage collect, the binary heap does not shrink to it's former size. See my test sequence below. About 1.5 MB is added to the binary heap, and never garbage collected. What can be the cause?
/W
=========
Erlang R15B02 (erts-5.9.2) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false] [dtrace]
Eshell V5.9.2 (abort with ^G)
1> erlang:memory().
[{total,9654968},
{processes,1123090},
{processes_used,1123090},
{system,8531878},
{atom,194289},
{atom_used,176885},
{binary,1319320},
{code,3892513},
{ets,298400}]
2> lists:foldl(fun(_I, Acc) -> <<Acc/binary, Acc/binary>> end, <<"abc">>, lists:seq(0,21)).
<<"abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab"…>>
3> erlang:memory().
[{total,22340920},
{processes,1127984},
{processes_used,1127970},
{system,21212936},
{atom,202481},
{atom_used,186083},
{binary,13901920},
{code,3972848},
{ets,302504}]
4> erlang:garbage_collect().
true
5> erlang:memory().
[{total,22314232},
{processes,1100552},
{processes_used,1100538},
{system,21213680},
{atom,202481},
{atom_used,186083},
{binary,13902664},
{code,3972848},
{ets,302504}]
6>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121123/7e40e2ef/attachment.htm>
More information about the erlang-questions
mailing list