Memory Allocation Profiling upcoming features
summary
Kernel allocations become visible via a tracepoint-backed context capture implementation that records call stacks into BPF and aggregates bytes per stack; experiments report a 21% static overhead, 64% active overhead, and roughly 2x when attaching the BPF stack-capture mostly dominated by stack walking. NUMA awareness compiles in optional counters that scale linearly with node count. MEMCG support offers a simple single-cgroup condition or a heavier multi-cgroup design that doubles memory and update overhead. An ioctl API plus userland “locktop” categories enable selective capture, filtering, GFP flag reporting, and smaller exports.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:22Context capture feature
- 2:10Deployment in Google fleet
- 3:12Profiling overhead analysis
- 5:04Real-world use case
- 6:10API design discussion
- 7:20Memory cgroup support
- 11:19NUMA awareness
- 12:23Octal API and tooling
- 14:08Feature prioritization
related talks
24mLow-overhead memory allocation tracking
30mProfiling CPU and Memory on Linux, with Opensource Graphical Tools
19mProfiling Your Code: 5 Tips to Significantly Boost Performance
26mProfiling Mastery: Decode Your Data and Elevate Observability
19mPROMPT: A Fast and Extensible Memory Profiling Framework
33mProfiling Code
09mAdvancements in info table profiling (Lightning Talk)
30mSeven ways to Profile Go Applications
