襄阳网站seo方法制作单位网站
文章目录
- 1、调优的主要指标
 - 2、工具一:jstat
 - 3、工具二:Visual VM的插件
 - 4、工具三:Prometheus + Grafana
 - 5、生成GC日志
 - 6、工具四:GC Viewer
 - 7、工具五:GCeasy
 
GC调优,是为了避免因垃圾回收引起程序性能下降,包括:
- 通用JVM参数设置
 - 特定GC回收器的JVM参数设置
 - 解决频繁Full GC引起的程序性能问题
 
GC调优无标准答案,视不同的服务器配置、硬件、服务器可用资源等的影响
1、调优的主要指标
监控工具发现了存在GC时间过长或频率过高的现象后,通过分析工具排查原因,调整JVM参数或者修改代码。调优指标:
1)GC吞吐量
 
CPU 用于执行用户代码的时间与 CPU 总执行时间的比值。如下,JVM运行的100s内,GC花1s,则吞吐为99%
 
2)延迟
 
用户发送请求到收到响应的时间,等于GC时间+业务代码执行时间
 
3)内存使用量
 
Java应用占用系统内存的最大值
2、工具一:jstat
JDK自带的监控工具:
jstat -gc 进程ID 每次统计的间隔(毫秒) 统计次数
 

每列的含义:
- C代表Capacity容量,U代表Used使用量
 - S – 幸存者区,E – 伊甸园区,O – 老年代,M – 元空间
 - YGC、YGT:年轻代GC次数和GC耗时(单位:秒)
 - FGC、FGCT:Full GC次数和Full GC耗时
 - GCT:GC总耗时
 
3、工具二:Visual VM的插件
可展示:堆内存结构及变化趋势、垃圾回收时间、对象晋升信息。安装插件:

网络问题,直接安装超时,自己下载一个,走本地安装。【下载】
//下载地址
https://visualvm.github.io/pluginscenters.html
 

 点击下载

下载完成后,Visual VM中选择从本地安装:

 IDEA中启动程序,查看

4、工具三:Prometheus + Grafana


读图:

5、生成GC日志
控制台打印gc日志:
-verbose:gc
 
下面的工具是分析GC日志文件,生成文件可加JVM参数:
//JDK8及以下
-XX:+PrintGCDetails -Xloggc:文件名
 
//JDK9+
-Xlog:gc*:file=文件名
 
6、工具四:GC Viewer
GC日志转可视化图表的小工具:
//github地址:
https://github.com/chewiebug/GCViewe
 
使用:
java -jar gcviewer_1.3.4.jar 日志文件.log
 

 打开GC Viewer:

7、工具五:GCeasy
AI,可定位内存泄漏、GC延迟高的问题,提供JVM参数优化建议,支持在线的可视化工具图表展示。官方网站:
https://gceasy.io/
 

生成的报告:


 
 
 
 
 
这款最舒适,但有免费的分析次数有限制。
