У меня проблема, аналогичная Изучение аварийных дампов Erlang - как учесть всю память? , мое приложение упало с eheap_alloc: Cannot allocate 34385784 bytes of memory (of type "old_heap")
, и я не могу понять, какой процесс вызвал его.
Согласно вкладке «Память» в средстве просмотра аварийных дампов, используемый процесс равен 2153 МБ, 4, но когда я суммирую все строки Memory:
в erl_crash.dump
(в байтах, см. guide )результат составляет всего около 285 МБ.Старая куча была бы другой 62MB, но я думаю, что она включена в Memory:
.Откуда могли взяться остальные?Обычно приложение использует около 300 МБ памяти.
Также в верхней части файла дампа написано Calling Thread: scheduler:0
, но никакой дополнительной информации об этом нет.Есть только записи для scheduler:1
и scheduler:2
.Могут ли они участвовать в этом или другие процессы планировщика не связаны?