参考答案
排查OOM的问题,可按如下操作:
- 增加两个参数: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof,当 OOM 发生时,自动 dump 堆内存信息到指定目录。
- 同时, jstat 查看监控 JVM 的内存和 GC 情况,先观察问题大概出在什么区域。
- 使用 MAT 工具载入到 dump文件,分析大对象的占用情况,例如 HashMap 做缓存未清理,时间长了会内存溢出,可改为弱引用 。
以上,是JVM面试题【如何排查OOM的问题】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—