线上频繁Full Gc 问题排查

1.首先用top命令,观察cpu占用情况,同时确定pid

 

 2.查看该进程的gc状态  jstat -gc 22283   5000   ===每5 秒一次显示进程号为 12538的 java进成的 GC情况,结果如下图:

3. jmap -heap 22283 查看各个代的内存使用以及jvm 配置

 

4.查看对象情况,确定大对象,jmap -histo 22283 > /tmp/log1.txt           less   log1.text

 

 5.导出整个JVM 中内存信息
  jmap -dump:format=b,file=/tmp/log33.dump   22283

  sz    log44.dump    

  下载到本地

 6.利用以下工具进行分析

jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况
jhat -J-Xmx1024M [file]
执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000

eclipse Memory Analyzer
Eclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。

 

posted @ 2021-03-17 11:00  腾龙皓月  阅读(166)  评论(0)    收藏  举报