Digging through the garbage
summary
Describes a working technique added to Benchee that measures per-process memory by tracing BEAM garbage-collection events rather than trying to disable GC. Uses Erlang’s spawn_opt to control initial heap size, the trace flag to collect GC start/end events, and accounts for the old heap (minor vs major GC). Finds and fixes a race that missed the first trace event; result is a reliable per-process memory metric with caveats about cross-process allocation.
AI-written summary · about
chapters (4)
- 0:00Start
- 17:22start with a high-level overview
- 29:46set a trace flag for all processes in a node
- 31:28set trace flags in the observer
related talks
20mRevisiting Partial Tracing for Safe, Efficient, and Concurrent Garbage Collection in(…)
45mFast and Safe Production Monitoring of JVM Applications with BPF Magic
01h 02mProfiling with Heaptrack and Hotspot on Embedded Linux
46mReal World Debugging with eBPF
11mHeaptrack: A Heap Memory Profiler for Linux
44mBattling Memory Leaks: Tales from the Trenches at WhatsApp
40mDebugging JVM performance issues
48mProfiling data structures
