[erlang-questions] Memory growing

Matthew Evans mattevans123@REDACTED
Thu Feb 7 17:21:45 CET 2013


Can you kill the VM with a SIGUSR1 and look at the resulting crash dump?

Start an Erlang shell, start crashdump viewer and poke around:

crashdump_viewer:start().

________________________________
> Date: Thu, 7 Feb 2013 08:08:58 -0800 
> From: sigxcpu@REDACTED 
> To: erlang-programming@REDACTED 
> CC: erlang-questions@REDACTED 
> Subject: Re: [erlang-questions] Memory growing 
> 
> I've tested NIFs from lists module and they seem to be fine. 
> 
> So, coming back to square one, how can I debug what is allocated in the 
> "system" section of erlang:memory/0 ? 
> 
> Alex 
> 
> On Saturday, February 2, 2013 10:52:04 PM UTC+2, Alex P wrote: 
> 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 
> 
> 
> 
> _______________________________________________ erlang-questions 
> mailing list erlang-questions@REDACTED 
> http://erlang.org/mailman/listinfo/erlang-questions 
 		 	   		  


More information about the erlang-questions mailing list