[erlang-questions] Memory growing
Alexandru Pirvulescu
sigxcpu@REDACTED
Sat Feb 2 21:52:04 CET 2013
Hello,
If somebody could help me with an issue, I would be grateful. I'm pulling my hair off trying to figure out why an erlang app keeps growing in memory usage. The erlang:memory() after 3 days shows this:
[{total,325732292},
{processes,54520269},
{processes_used,54492115},
{system,271212023},
{atom,932793},
{atom_used,912937},
{binary,2348080},
{code,8288354},
{ets,487392},
{maximum,398189416}]
The interesting part is "system" section. All other data is fine (processes goes to few MBs during the night as all the started procs are either hibernated - for long running or they die because of inactivity).
There are two issues here:
- "system" keeps growing (around 800MB/week)
- OS (Linux) shows a significantly different amount of memory usage (almost 2x, 610MB resident in this case)
The only case where I've managed to make "system" grow is by calling erlang:monitor() multiple times. It grows with ~13K/call.
Erlang release used is R15B03.
The questions are:
- is there any hidden function to inspect all the active process monitors? (as the single place where I use erlang:monitor looks fine. The spawned kid does its job and dies, so the ref should be garbage collected).
- is there any way to inspect "system" section and find out what it contains? Looking at memory chunks in process map got me nowhere
Thank you,
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130202/2aaf446d/attachment.htm>
More information about the erlang-questions
mailing list