Troubleshooting系列-应用JVM启动参数调优实践

JVM参数优化与垃圾收集器调整:SpringBoot应用案例
文章讲述了作者对一个基于SpringBoot等技术构建的应用服务进行JVM参数和垃圾收集器的优化,发现fullGC频繁且耗时,通过分析堆内存使用、JVM参数及堆内对象分布,提出调整年轻代和老年代比例、缓存最大键值以及数据库连接池大小的优化策略。

最近重新梳理了JVM参数以及垃圾收集器相关知识,准备拿现网一些应用实践优化下

1. 问题现象

选取去年新建立一个应用服务,后台架构基于spring boot+ mybatics + druid + dubbo + rocktemq进行搭建。上线后,发现该应用每天fullgc次数10+。业务高峰期可能半个小时或者1个小时一次,每次fgc时间大概在500ms。

image.png

选取一个具体的major gc详看,major gc前

image.png

major gc后

image.png

2. 问题分析

2.1 JVM参数分析

这个应用JVM启动参数如下

 

shell

复制代码

#!/bin/bash # 设置Java堆栈大小 JAVA_OPTS="$JAVA_OPTS -Xmn1024m -Xms1024m -Xmx4096m -XX:MetaspaceSize=64m -X

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值