请问大家是怎么确定这种情况是哪种原因
1: 申请合理的小内存,但因为内存泄露,堆可用内存不足。
2: 一次申请了超大的内存,超过 jvm mx 最大内存
1: 申请合理的小内存,但因为内存泄露,堆可用内存不足。
2: 一次申请了超大的内存,超过 jvm mx 最大内存
1
chendy Apr 7, 2020 加参数 -XX:+HeapDumpOnOutOfMemoryError,oom 的时候会 dump 堆,然后拿 Eclipse Memory Analyzer 看一下
|
2
pmispig OP @chendy 多谢,我还多加 2 个
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/gc.hprof -XX:+PrintGCDetails -Xloggc:/logs/gc.log |
3
aguesuka Apr 7, 2020 via Android
如果是容易复现的问题可以用 jmap 命令
|
4
soulzz Apr 7, 2020
jconsole 看下内存统计
|