Lightning Talk: Understanding Memory Allocation Management in Envoy. Current an...
summary
Explains Envoy’s four allocation classes (static, thread‑local, stack, heap), how tcmalloc vs gperftools implement per‑thread/per‑CPU caching, and why fragmentation and allocator ABI differences matter; describes the shrink heap resource monitor and periodic-release feature and why released bytes are non‑deterministic; shows using the admin memory endpoint and patched TCM stats plus a heap profiler (pprof) to find a leak that retains ~84% of heap in a connection code path; proposes adding a fragmentation‑aware allocator and cgroup‑aware monitoring.
AI-written summary · about
chapters (13)
- 0:00Envoy memory management intro
- 0:42Thread local storage in Envoy
- 1:47Heap allocations challenges
- 2:29Custom allocators in Envoy
- 3:12TC Maloc vs Gerf Tools
- 4:35TC Maloc architecture
- 5:18Memory fragmentation types
- 6:00Prevent memory exhaustion
- 7:47Troubleshooting memory leaks
- 9:10Debugging with TCM stats
- 10:14Heap profiling for leaks
- 11:16Future memory improvements
- 12:19Acknowledgements
related talks
10mLightning Talk: Envoy @ Netflix
37mEnvoy Internals Deep Dive
10mLightning Talk: Closing the Gap: Fair North–South Bandwidth Management for Tenants
44mTCP memory isolation on multi-tenant servers
08mLightning Talk: It’s 10pm, do you know what your proxy is doing? Understanding...
05mLightning Talk: Optimizing Cluster Workloads: Cilium Envoy on DPU
10mEnvoy’s Using 10GB of Memory and It’s All My Fault!
21mLightning Talk: Integrating Envoy with DPDK-based virtual networks
