性能话题>「VJMap」插件体验交流>

「VJMap」插件体验交流

简介

分代版的jmap(新生代,存活区,老生代),是排查内存缓慢泄露,老生代增长过快原因的利器。因为jmap -histo PID 打印的是整个Heap的对象统计信息,而为了定位上面的问题,我们需要专门查看OldGen对象,和Survivor区大龄对象的工具。
vjmap的原始思路来源于R大的TBJMap ,翻新后支持JDK8,支持Survivor区大龄对象过滤。
注意:因为VJMap的原理,只支持CMS和ParallelGC,不支持G1。

操作指南

 Command-Name                   Command-Description
   vjmap                        vjmap 1.0.9 - prints per GC generation (Eden, Survivor, OldGen) object details of a given process.

 Tips:
 Usage: vjmap <options> <PID>
 Usage: vjmap <options> <executable java path> <coredump file path>
 Usage "help vjmap" show options info
 
 Example:
  打印整个堆中对象的统计信息,按对象的total size排序:
  vjmap -all PID > /tmp/histo.log
  
  推荐,打印老年代的对象统计信息,按对象的oldgen size排序,比-all快很多,暂时只支持CMS:
  vjmap -old PID > /tmp/histo-old.log
  
  推荐,打印Survivor区的对象统计信息,默认age>=3
  vjmap -sur PID > /tmp/histo-sur.log
  
  推荐,打印Survivor区的对象统计信息,查看age>=4的对象
  vjmap -sur:minage=4 PID > /tmp/histo-sur.log
  
  推荐,打印Survivor区的对象统计信息,单独查看age=4的对象:
  vjmap -sur:age=4 PID > /tmp/histo-sur.log
 

在使用该插件的过程中,您是否遇到问题?对插件有什么意见和建议呢?欢迎在本页面交流 ↓

点赞
6613 阅读
请先登录,查看4条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步