GC调优的场景、目标、步骤

9.4. GC调优

9.4.1. 调优的目标

**1)吞吐量:**吞吐量=用户代码执行时间/(用户代码执行时间+垃圾回收时间)
**2)响应时间:**垃圾回收算法中的STW时间越短,响应时间越好
在进行调优的时候,首先要确定调优的首要目标是什么?响应时间优先,还是吞吐量优先,还是在一定响应时间范围内吞吐量最大等等。
如果是吞吐量优先,可以考虑Parrallel Scavenge和Parrallel Old垃圾回收器组合;这种一般出现在科学计算、数据挖掘、thrput等场景。如果是响应时间优先,那么要考虑JDK的版本,如果是JDK1.8那么可以使用G1,或者ParNew和CMS垃圾回收器组合(效果比G1要差一点);这种一般出现在网页GUI、API等场景。

9.4.2. 进行调优的场景

调优的场景一般可以分为三类,如下:
a. 根据需要进行JVM规划和预调优;
b. 优化运行JVM运行环境(慢、卡顿等问题);
c. 解决JVM运行过程中出现的各种问题(OOM等问题)。

9.4.3. 调优的前提条件

a. 从业务场景开始,所有的调优都是针对特定业务场景来说的。
b. 无监控不调优,即必须有压力测试,能看得到每次调试的结果。

9.4.4. 调优的步骤

a. 熟悉业务场景(没有最好的垃圾回收器,只有最合适的垃圾回收器)
b. 确定调优的目标:响应时间或停顿时间 [CMS G1 ZGC] (需要给用户作响应)
吞吐量 = 用户时间 /( 用户时间 + GC时间) [PS]
c. 选择回收器组合
d. 计算内存需求(经验值 1.5G 16G)
e. 选定CPU,CPU越高越好
f. 设定年代大小、升级年龄
g. 设置日志,设置采用多个日志文件循环保存或者每天产生一个日志文件
h. 观察日志情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值