Opening Scenario
Monday morning, #infra: "The ingest worker is at 7.2 GB. It was 800 MB on Friday."
You open the dashboard. RSS is a straight line climbing all weekend. No crashes, no errors, no OOM kill yet — just a slow climb. You have:
- A long-running Python worker (with a handful of C extensions)
- A Java report generator in the same cluster that is also creeping up, more slowly
- One engineer who says "just restart it nightly and move on"
- A CTO who wants to know what's wrong by end of day
Where do you even start looking when the symptom is "a number is too big"?
Question Progression
Q1: Before chasing allocations, what should you actually measure?
Question: "Memory is high" is not a bug report. What numbers do you need before you start debugging?
Reasoning: Memory means several different things. The number an OS tool reports (RSS)…
In the full tutorial
- When to Reach for This