<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>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:</div><div><br></div><div>[{total,325732292},<br> {processes,54520269},<br> {processes_used,54492115},<br><b> {system,271212023},<br></b> {atom,932793},<br> {atom_used,912937},<br> {binary,2348080},<br> {code,8288354},<br> {ets,487392},<br> {maximum,398189416}]</div><div><br></div><div>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).</div><div><br></div><div>There are two issues here:</div><div>- "system" keeps growing (around 800MB/week)</div><div>- OS (Linux) shows a significantly different amount of memory usage (almost 2x, 610MB resident in this case)</div><div><br></div><div>The only case where I've managed to make "system" grow is by calling erlang:monitor() multiple times. It grows with ~13K/call.</div><div><br></div><div>Erlang release used is R15B03. </div><div><br></div><div>The questions are:</div><div>- 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).</div><div>- is there any way to inspect "system" section and find out what it contains? Looking at memory chunks in process map got me nowhere</div><div><br></div><div>Thank you,</div><div>Alex</div><div><br></div><div><br></div></body></html>