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

Glossary history

Click dotted jargon to save explanations here.