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

堆的分配参数:

-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.csdn.net/zhaocong89/article/details/51305681

你可能感兴趣的:(-Xmx –Xms到底是什么东西?原来其实是JVM的配置参数)