Discrepancy between process and memory information in crashdump
Thu Aug 13 16:33:33 CEST 2020
>From what I recall seeing, the crash dump, before being produced, has what
looks like garbage collection running to eliminate some of the stale data.
So if the node runs out of memory because it has a lot of garbage, you
unfortunately can't see post-facto, and you have to kind of catch it live
to analyze what is going on.
On Thu, Aug 13, 2020 at 12:40 AM Anshul Mittal <mittal.anshul@REDACTED>
> 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
> 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?
> Anshul Mittal
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions