[erlang-questions] Memory growing

Alexandru Pirvulescu <>
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.html>


More information about the erlang-questions mailing list