-Xmx –Xms到底是什么东西?原来其实是JVM的配置参数

本文详细介绍JVM参数设置,包括堆的分配参数如-Xmx、-Xms等,并讲解了年轻代与年老代的比例调整、对象晋升策略及不同的垃圾回收器组合使用方法,帮助读者更好地理解如何优化JVM。

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

堆的分配参数:

-Xmx –Xms:指定最大堆和最小堆

JVM调优

  1. -Xmx3g -Xms3g -Xmn1g -Xss256k
    -Xmx3g -Xms3g,将JVM最大内存与初始内存设置相等,避免JVM垃圾回收后重新分配内存;-Xmn1g,年轻代Sun官方推荐配置为整个堆的3/8,通常设置为1/3或1/4;-Xss256k,减小每条线程的堆栈大小,能生成更多的线程。
  2. -XX:NewRatio=4
    调整年轻代与年老代比例(年轻代:年老代=1:4)
  3. -XX:MaxTenuringThreshold=0
    设置晋升到老年代的对象年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制。
  4. UseConcMarkSweepGC
    JVM在server模式下默认使用PararrelScavenge+SerialOld的收集器组合进行内存回收,不支持与用户线程并发执行。可使用ParNew+CMS+SerialOld的收集器组合进行内存回收(SerialOld收集器做为CMS收集器出现ConcurrentModeFailure失败后的后备收集器使用),减少stop-the-world时间。
  5. -XX:CMSFullGCsBeforeCompaction
    使用CMS时,设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片

 

 

参考

https://www.cnblogs.com/pony1223/p/8661219.html

 

https://blog.youkuaiyun.com/zhaocong89/article/details/51305681

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值