[erlang-questions] eheap cannot allocate for which process?
József Bérces
jozsef.berces@REDACTED
Mon Mar 17 09:51:13 CET 2014
I receive the classic "eheap_alloc: Cannot allocate..." message. It wants to allocate ~1GB memory and that fails. That is fine, I am doing something wrong. So I took the crash dump and tried to find out which one of my processes is the guilty one.
Unfortunately, I cannot tell it from the crash dump.
The memory section says:
=memory
total: 15447352528
processes: 15140232809
processes_used: 15140005610
system: 307119719
atom: 512601
atom_used: 496586
binary: 148574400
code: 21228007
ets: 119988984
I have 16GB RAM, so the processes use almost all. There are 4010 processes. 1 garbing, 31 scheduled, 3978 waiting. If I sum stack+heap of all the processes then I get ~700MB. That is very far from 16GB. Here are the top 10 stack+heap processes:
Pid
State
Reductions
Stack+heap
MsgQ Length
<0.21060.67>
Garbing (limited info)
1,508,838,180
145,962,050
1
<0.25689.27>
Waiting
86,670,344
145,962,050
0
<0.10003.68>
Waiting
1,363,039
38,263,080
0
<0.15943.66>
Waiting
1,882,465,380
30,610,465
0
<0.15879.68>
Waiting
471,549
30,610,465
0
<0.31854.67>
Waiting
154,500,777
24,488,375
0
<0.16221.68>
Waiting
262,114
24,488,375
0
<0.16628.68>
Waiting
117,268
24,488,375
0
<0.15878.68>
Waiting
453,490
19,590,700
0
<0.16235.68>
Waiting
181,968
19,590,700
0
Any ideas how to tell which process needs ~1GB memory?
Thanks,
Jozsef
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140317/70d85d1e/attachment.htm>
More information about the erlang-questions
mailing list