1.打印gc信息:jstat -gcutil pid 1000
2.jmap -dump:live,format=b,file=heap.hprof pid
3.jstat -gccause pid 1000
- System.gc其实是做一次full gc
- System.gc会暂停整个进程
- System.gc一般情况下我们要禁掉,使用-XX:+DisableExplicitGC
频繁GC问题或内存溢出问题
一、使用jps查看线程ID
二、使用jstat -gc 3331 250 20 查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况。
三、使用jstat -gccause:额外输出上次GC原因
四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件
五、使用jhat或者可视化工具(Eclipse Memory Analyzer 、IBM HeapAnalyzer)分析堆情况。
六、结合代码解决内存溢出或泄露问题。
死锁问题
一、使用jps查看线程ID
二、使用jstack 3331:查看线程情况