What's Eating My RAM? - Memory Utilization in C++
summary
Service memory climbs from about 1GB to 7GB and triggers a 90% machine alarm; initial fixes find leaks with a test allocator and AddressSanitizer, and a Valgrind massif timeline separates static noise from growth. Fragmentation remains: 30MB in use, only ~2MB free with largest allocatable block ≈60KB, so brk/mmap keep growing. A working mitigation split allocations by lifespan into local allocators (short‑term vs long‑term), which reduces heap fragmentation and stabilizes growth.
AI-written summary · about
chapters (10)
- 0:00Memory usage challenges
- 2:05Critical memory alarm
- 6:04C++ memory allocation
- 15:14Finding memory leaks
- 19:26Leak detection tools
- 25:12Memory fragmentation
- 28:27Measuring fragmentation
- 31:24Reducing fragmentation
- 33:52Local allocators
- 38:09Q&A
related talks
01h 11mDynamic Memory Allocation Challenges in C++ Safety Critical Systems
49mMost Malleable Memory Management Method in C++
58mMemory and C++ debugging at Electronic Arts
01h 03mMost Malleable Memory Management Method
01h 01mRecipes for Reducing Allocations by C++ Containers
01h 25mTaming Dynamic Memory - An Introduction to Custom Allocators
06mLightning Talk: Speeding up code with C++17 Polymorphic Memory Resources
19mStarMalloc: Verifying a Modern, Hardened Memory Allocator
