<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>This is extremely hard to answer your question not knowing the application context, what it does, etc.</div><div>Just keep in mode that memory report is given in words with is either 4 or 8 byte depends on system config. This is a reason why linux show diff value. </div><div><br></div><div>I would start with entop utility and check top processes with high men and high reductions.</div><div><a href="https://github.com/mazenharake/entop">https://github.com/mazenharake/entop</a></div><div><br></div><div>Please share those views!</div><div><br></div><div>Best Regards, Dmitry</div><div><br><div><div>On Feb 2, 2013, at 10:52 PM, Alexandru Pirvulescu <<a href="mailto:sigxcpu@gmail.com">sigxcpu@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div 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></div>_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote></div><br></div></body></html>