Wrangling memory leaks where you thought they could never happen
summary
A concrete debugging story: a Rust web server for ABQ hits the OOM killer because allocator behavior and fragmentation, not unsafe code, cause a large steady-state heap (about 70% baseline and OOM killer on a 1 GB VM). The investigation uses Rust Analyzer, profilers, synthetic load tests and allocator swaps (notably mallocng vs jemalloc), finds allocator defaults like cache‑oblivious placement and decay purging cause extra pages, and proves switching allocators or using bumpalo and scoped arenas removes the leak.
AI-written summary · about
chapters (7)
- 0:00Memory leak debugging story
- 1:46Out of memory issue
- 7:02Memory allocators complexity
- 15:27Allocators: glibc and jemalloc
- 22:30Web server performance impact
- 27:25Solutions for allocation challenges
- 29:12Allocator selection summary
related talks
37mTrack your memory allocation
26mAllocating Less: Really Thin Rust Cloud Apps
42mWhat’s Eating my RAM? - C++ Memory Management
01h 03mTaming dynamic memory
54mAllocating Less: Really Thin Rust Cloud Apps
05mInterview
57mDynamic memory allocation challenges in safety critical systems
32mThe Impact of Memory Allocators on Performance: A Deep Dive
