gcviewer是什么?

    GCViewer是一个小工具,可以可视化Sun / Oracle、IBM、HP和BEA Java虚拟机生成的详细GC输出。它是在GNU LGPL下发布的自由软件。---官网翻译

gcviewer的使用

文章使用的配置

工具

环境或版本

idea

2021

系统

ios(mac)

jdk

1.8

官网:https://github.com/chewiebug/GCViewer

下载:https://github.com/chewiebug/GCViewer.git

70933aa355b7c781ce033b48694b0d95.png

注意:最新的1.3x最低版本仅支持jdk1.8

75264948b2e70136626ec5b39e9a7d1a.png

打成jar包或者用idea直接package

mvn clean install

或者如下操作

1873ea814547a50af388d9a824c88667.png

4ff826b4e832b30b4fc4afb546b3ece0.png

我这里用idea生成的目录在target中gcviewer-1.37-SNAPSHOT.jar

双击打开后是这样:

6705a54a752e94dd7de333572445ba6c.png

然后打开上次(File->open File)文章说的日志文件(可以参考:jvm-问题分析及优化利器-gceasy的使用

ee4c8afad98865a3bca009510a6ada13.png

结果展示如下,有些同学可能要问,有没有中文版,不好意思貌似没有发现~,有发现麻烦留言发我一份~

5700d4787e2cc7613c71949609b46d2a.png

summary(概要)

091c40e8520208acfe5f873384e5d3d5.png

下面列一些关键的说明

项目名称

中文解释

作用

Total heap(usage/alloc.max)

堆总大小

这里展示占用堆的总大小及使用占比

Max heap after full GC

fullgc后占堆总大小


Freed memory

释放内存


Freed Mem/min

每分钟释放大小


Total time

总耗时

单位秒

Accumulated Pauses:GC

暂停总时长


Throughput

吞吐量

这个是一个核心的指标,如果吞吐量太低,需要及时排查原因。如果达到90%以上就要考虑优化了~

Memory(内存信息)

52aca019bb32259342c0feda787d320f.png

项目名称

中文解释

作用

Tenured heap(usage、alloc.max)

老年代堆大小和占比

可以展示占比情况,是不是太多导致fullGC

Young heap(usage、alloc.max)

年轻代堆大小和占比


Perm heap(usage、alloc.max)

元空间大小和占比


Max heap after full gc

gc后最大堆大小和占比


Avg heap after full gc

gc后平均堆大小


avg after gc

平均gc后的情况(指yong minxd old)


avg freed full gc

full gc后平均释放的大小


...

都差不多


Pause(暂停信息)

023c6de7be4dd48c98b353effc6fa58d.png

1a876f920198d19de43a4ede04f7c49f.png

jvm配置信息

b0236e2873224610751d5da43822a4fe.png

图表需要参照 这个view中的信息,其中包含full gc等相关信息,这个在本地开发的时候可以时不时拉出来看下是不是有问题,性能或者一些关键的参数都可以在图标上面一目了然;(给力)

a8a7c970feda565e68ce158747c90229.png

当然gcviewer还可以生成报告,具体同学需要的可以查看下官网说明或参考网站~

最后

问了一圈周边的同事或朋友,发现用gcviewer还是比较少,现在年轻一代的同学都是在生产直接用arthas或大盘,本地开发一般就是用自带visualvm或者直接用上节说的easyGC直接上传查看。

参考网站:

https://paulstothard.github.io/cgview/

https://www.jianshu.com/p/2ab0bd916c7f

fc5280e672a2a9440ce2064e2b0d23b3.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐