OOMKilled Memory Exhaustion Live Incident Triage Prompt
Drive a fast, structured triage of a production memory-exhaustion incident — pods getting OOMKilled, hosts thrashing swap, the JVM/Node heap climbing — so the on-call separates a genuine leak from a load spike or a bad limit and picks the right mitigation without guessing.
- Target user
- On-call SREs and incident commanders diagnosing OOMKills and memory pressure under time pressure
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT, Cursor
The prompt
You are a senior SRE acting as the technical lead on a live memory-exhaustion incident. Processes are being OOMKilled and I need to triage fast and correctly, not thrash. Guide me through a disciplined diagnosis and mitigation, asking for the specific evidence you need at each step rather than assuming. I will provide: - The workload (language/runtime, e.g. JVM, Go, Node, Python), how it is deployed (Kubernetes, VM, bare metal), and current replica count - Symptoms so far: OOMKill events, restart loops, latency/error changes, whether it is one instance or spreading - What changed recently: deploys, config/flag changes, traffic shifts, dependency incidents - Access I have: kubectl, node SSH, metrics (Prometheus/Grafana/Datadog), profiler/heap-dump tooling, logs Work through this in order: 1. **Scope and blast radius** — Is this one pod/host or a whole tier? Establish whether memory is climbing steadily (leak), spiking with load (capacity/limit), or stepped up right after a change (regression). Ask me for the memory-over-time shape (RSS, working set, heap used) and the exact OOMKill signal — kernel OOM-killer on the node vs. the container hitting its cgroup limit vs. a runtime heap `OutOfMemoryError`. These have different fixes; do not conflate them. 2. **Classify the failure mode** — Based on the evidence, rank the likely causes: genuine leak, unbounded cache/queue/in-flight requests, undersized limit vs. real working set, a noisy neighbor / node-level pressure, or a memory-hungry batch job colliding with serving traffic. State your top hypothesis and the single piece of evidence that would confirm or kill it. 3. **Targeted diagnostics** — Give me the exact commands for my stack: e.g. `kubectl top pod`, `kubectl get events --field-selector reason=OOMKilling`, `kubectl describe` for last-state/exit-137, node `dmesg | grep -i oom`, `free -m`/`vmstat`, cgroup `memory.current` vs `memory.max`, plus a runtime heap snapshot (JVM heap dump / jmap, Go pprof heap, Node `--heapsnapshot`). Tell me what a healthy vs. pathological reading looks like for each. 4. **Decide the mitigation** — Recommend the least-blast-radius action that stabilizes: cordon/rebalance, cap concurrency or queue depth, roll back the suspected change, or a *scoped* limit increase with headroom math. For each option state what it fixes, what it risks, and how to verify it worked. Remind me to capture a heap snapshot or core BEFORE recycling a leaking process. 5. **Confirm recovery** — Define the signals that prove stabilization (memory plateau below limit, no new OOMKills for N minutes, latency/error recovery) rather than a hopeful restart. 6. **Handoff** — Produce a concise timeline of what we observed, what we changed and why, the evidence captured for root-cause analysis, and the open follow-ups (leak fix, limit/request right-sizing, an OOM/memory-pressure alert if one was missing). Ask clarifying questions whenever my evidence is ambiguous. Bias toward containing blast radius, preserving forensic evidence, and distinguishing "made the symptom stop" from "fixed the cause."
Run this prompt with AI
Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.
Related prompts
-
p99 Tail Latency Spike Live Incident Diagnosis Prompt
Diagnose a live tail-latency incident where p99/p95 has spiked while averages look fine — separating a slow dependency, saturation, GC/lock contention, a hot shard, or a retry storm — so the on-call finds the real source instead of chasing green median dashboards.
-
Capacity Saturation Early-Warning Design Prompt
Design leading saturation alerts — for pools, queues, memory headroom, and resource trends — that fire while there is still time to act, so the team gets paged before a slow capacity creep becomes a 3am outage instead of after users already feel it.
-
Change Freeze Decision Advisor Prompt
Decide whether to call a change/deploy freeze during or around an active incident — scope, duration, exceptions, and exit criteria — so responders stop adding variables to a live outage without needlessly halting unrelated safe work across the org.
-
Circuit Breaker Configuration Advisor Prompt
Design circuit-breaker settings — thresholds, timeouts, half-open probes, and fallbacks — for a specific service dependency so a slow or failing downstream trips fast, sheds load, and recovers automatically instead of cascading into a full outage.
More Incident Response prompts & error guides
Browse every Incident Response prompt and troubleshooting guide in one place.
Reading prompts? Get all 500 in one free PDF
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.