Questions to Determine¶
- What does the OOM killer dmesg output show about the process that was killed and the memory state?
- What is the total RSS (resident set size) of the Java process at the time of the kill?
- Is the JVM heap the only source of memory consumption, or is there significant off-heap/native memory usage?
- How much memory do other processes on the system consume?
- Is the
-Xmx12gsetting appropriate for a 16 GB system given OS and non-heap overhead? - Are there cgroup memory limits applied to the process?
- What is the oom_score_adj for the Java process?
- Is swap intentionally disabled, and would enabling it help or hurt?
- Is the application leaking memory (heap or native)?