jvm调优案例

本文详细探讨了JVM的调优,包括不同CPU环境下选择的收集器,如吞吐量收集器和并发低暂停收集器,并提供了相应的命令行参数。调优策略和工具使用也进行了讲解,如查看线程CPU占用和使用VisualVM分析堆dump。此外,还介绍了SpringBoot中TOMCAT的调优参数和配置方法,提供了多篇参考资料以深入理解JVM调优实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM调优

JVM 收集器

默认使用串行收集器, 单个cpu时适用吞吐收集器(throughput collector):命令行参数:-XX:+UseParallelGC。在新生代使用并行清除收集策略,在旧生代和默认收集器相同。
适用:a、拥有2个以上cpu, b、临时对象较多的程序
-XX:ParallelGCThreads 并行收集线程数量,最好和cpu数量相当并发收集器(concurrent low pause collector):命令行参数:-XX:+UseConcMarkSweepGC。在旧生代使用并发收集策略,大部分收集工作都是和应用并发进行的,在进行收集的时候,应用的暂停时间很短。默认配套打开 -XX:+UseParNewGC,会在新生代使用并行复制收集。
适用:a、拥有多个cpu, b、老对象较多的程序

-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片  
-XX:+UseFastAccessorMethods 原始类型的快速优化  
-XX:SurvivorRatio 新生区中,eden&survivor的比例,设置为8  
-XX:TargetSurvivorRatio 生存区需要做垃圾回收的比例值,默认为50%,设置高些可以更好的利用该区

 

设置jvm参数

$ java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC newframe-1.0.0.jar

 

$JAVA_ARGS  
.=  
"  
-Dresin.home=$SERVER_ROOT  
-server  
-Xmx3000M  
-Xms3000M  
-Xmn600M  
-XX:PermSize=500M  
-XX:MaxPermSize=500M  
-Xss256K  
-XX:+DisableExplicitGC  
-XX:SurvivorRatio=1  
-XX:+UseConcMarkSweepGC  
-XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled  
-XX:+UseCMSCompactAtFullCollection  
-XX:CMSFullGCsBeforeCompaction=0  
-XX:+CMSClassUnloadingEnabled  
-XX:LargePageSizeInBytes=128M  
-XX:+UseFastAccessorMethods  
-XX:+UseCMSInitiatingOccupancyOnly  
-XX:CMSInitiatingOccupancyFraction=70  
-XX:SoftRefLRUPolicyMSPerMB=0  
-XX:+PrintClassHistogram  
-XX:+PrintGCDetails  
-XX:+PrintGCTimeStamps  
-XX:+PrintHeapAtGC  
-Xloggc:log/gc.log  
";

 

调优策略

JVM各个参数之间有一个平衡性的,另外根据业务类型和实际的运行环境都有不一样的效果。但是有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值