--- title: Runbook — JVM_OOM (JVM OutOfMemoryError) category: INTERNAL error_codes: [JVM_OOM] severity: P1 owner: oncall last_updated: 2026-06-15 status: stub --- # Runbook: JVM_OOM (`runbook://runtime/jvm-oom`) ## Symptoms - Container exits with code 137 (ExitOnOutOfMemoryError triggered) - Structured log entry with `error.code=JVM_OOM` before exit ## Diagnosis - Check heap dump if `-XX:HeapDumpOnOutOfMemoryError` is configured - Review memory usage trends before crash - Check for memory leaks: large cache growth, unbounded lists, session accumulation ## Action - Restart container immediately (k8s will auto-restart with liveness probe) - If recurring: increase heap `-Xmx` or fix memory leak ## Escalation - P1: immediate if multiple pods crashing simultaneously - Page SRE / infra team for heap analysis --- > **Stub**: Phase D2 — author body after domain adoption. (feature-operational-runbook-contract D9)