记第一次JVM性能调优(一)之Full GC优化

本文介绍了作者对JVM Full GC的性能调优过程,包括调优原则、目的和实战案例。重点讨论了元空间内存不足引发的Full GC问题,通过设置-XX:MetaspaceSize参数解决了此问题,并进一步推测和调整了堆空间分配,避免了因老年代空间不足导致的Full GC。文章以实际操作和日志分析为依据,展示了GC调优的初步步骤。
摘要由CSDN通过智能技术生成

GC调优

GC调优原则

就我个人的理解而言,对于一个应用程序来说,应当存在四点调优原则

  1. 大多数的java应用都不需要GC调优
  2. 大部分需要GC优化的,不是参数问题,而是代码问题
  3. 优化代码带来的性能提升远远大于参数调整
  4. GC调优应当是程序优化的最后手段

GC调优的目的

  1. 使GC的时间足够小.这个没有硬性的时间值,可以根据项目的不同而自由设定.这里笔者给出一个参考系的指标:Minor GC执行时间不到50ms,Full GC执行时间不到1S
  2. 使GC的次数足够小.同GC时间类似,这里给出参考系指标,Minor GC执行不频繁,大于10S一次,Full GC执行也不算频繁,大于10分钟一次.

调优实战

现有一个公司的项目,项目启动前添加参数 -XX:+PrintGCDetails ,该参数含义为打印GC日志.项目启动时打印日志为:
项目启动日志
项目启动日志
项目启动日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值