Я просматривал этот аварийный дамп в Erlang, где у виртуальной машины не хватило кучи памяти.Проблема в том, что нет очевидного виновника, выделяющего всю эту память.
Используя некоторую серьезную черную awk
магию, я суммировал поля Stack+heap
, OldHeap
, Heap unused
и OldHeap unused
для каждого процесса и ранжировать их по использованию памяти.Проблема в том, что это число даже близко не совпадает с числом, представляющим общую память для всех процессов processes_used
согласно Руководству по аварийному дампу Erlang .
I 'мы уже попробовали Crashdump Viewer и либо я что-то упустил, либо мне не очень помогли в решении моей проблемы.
Полученное число составляет 525 МБ, тогда как processes_used
значение составляет 1348 МБ.Где я могу найти остальную часть памяти?
Редактировать: Heap unused
и OldHeap unused
не должны были быть включены, так как они являются частью Stack+Heap
и OldHeap
, что плюспроблема заключалась в том, что число, отображаемое для Stack+Heap
и OldHeap
, указывалось как количество слов, а не байтов.