Discrepancy between process and memory information in crashdump

Anshul Mittal mittal.anshul@REDACTED
Thu Aug 13 00:12:46 CEST 2020


Hi,
I have a prod BEAM running on OTP 22 . I recently saw a crash in prod,
which generated a crash dump. The memory consumption of the process jumped
rapidly from ~5G to ~40G within a matter of a couple of minutes.

Slogan: eheap_alloc: Cannot allocate 6664208 bytes of memory (of type
"old_heap").
System version: Erlang/OTP 22 [erts-10.7.1] [source-471fe20989] [64-bit]
[smp:36:36] [ds:36:36:10] [async-threads:1] [frame-pointer]

When I analyzed the crash dump in the crash dump viewer, it shows the
following summary on the memory tab:

Total: 50 GB
Processes: 42 GB
Processes Used: 42 GB
System: 7728 MB
...

However, when I sum the "Memory: " information from the individual process
entries in the crash dump, it only adds up to ~3G .

I do see some processes with "WARNING: This process has an incomplete heap.
Some information might be missing. " However, from what I can tell from the
code here: https://fburl.com/ye99sjs9 , this warning means that reference
counted binaries are missing from the crash dump, and not the information
about the process heap itself.

The crashdump itself doesn't seem to be truncated (don't see any such
message on the "General Information" tab in the viewer).

What could explain the discrepancy here?


Cheers,
Anshul Mittal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200812/fcd5d035/attachment.htm>


More information about the erlang-questions mailing list