我有一个与Examining Erlang crash dumps - how to account for all memory?类似的问题,我的应用因eheap_alloc: Cannot allocate 34385784 bytes of memory (of type "old_heap")
而崩溃,我无法弄清楚是哪个进程引起的。
根据故障转储查看器中的“内存”选项卡,使用的进程为2153MB,但4当我总结Memory:
中的所有erl_crash.dump
行(以字节为单位时,请参见{{3} })的结果只有285MB左右。旧的堆会再占62MB,但我认为它包含在Memory:
中。其余的可能来自哪里?通常,该应用程序的总内存使用量约为300MB。
转储文件的顶部也显示Calling Thread: scheduler:0
,但没有有关它的更多信息。只有scheduler:1
和scheduler:2
的条目。他们可以参与其中吗,还是其他调度程序进程无关?