jvm 内存溢出,引发溢出原因排查

jvm 内存溢出,引发溢出原因排查 
一、dump文件分析 
    dump文件获取方式
    1、设置JVM参数 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof 
       内存溢出时产生dump文件
    2、使用jmap生成dump 文件 
    dump分析 
     使用jdk自带分析工具visualVM
      a、visualVM可以直接显示导致内存溢出的线程
      b、visualVM可以看到对象的个数及大小
      c、visualVM可以看到对象的引用
二、 jstak 查看死锁 查看线程状态 
三、 jstat 查看GC的次数及4个区域的大小(幸存区 伊甸园区 老年代 方法区)
     看一下大小是否超过jvm设置的最大值 
四、free 查看系统的内存使用情况     

你可能感兴趣的:(java)