java中gc优化是什么

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.概念

Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。

2.优化目的

1)将进入老年代的对象数量降到最低

老年代GC相对来说会比新生代GC更耗时,因此,减少进入老年代的对象数量可以显著降低Full GC的频率。

2)减少Full GC的执行时间

Full GC的执行时间比Minor GC要长很多,因此,如果在Full GC上花费过多的时间(超过1s),将可能出现超时错误。

3.参数

-Xms, -Xmx和-XX:NewRatio。-Xms和-Xmx参数通常是必须的,所以NewRatio的值将对GC性能产生重要的影响。

4.步骤

(1)监控GC的状态

(2)生成堆的dump文件

(3)分析dump文件

(4)分析结果,判断是否需要优化

(5)调整GC类型和内存分配

(6)不断的分析和调整

5.实例

例子是Full GC时间较长。

通过 jstat -gcutil 获取如下数据:

S0S1EOPYGCYGCTFGCFGCTGCT
12.160.005.1863.7820.32542.04756.9468.993

Perm区域对于首次GC优化来说并不重要,当前,YGC的值更有价值。

下面是Minor GC和Full GC 的相关数据:

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容