堆的分配參數:
-Xmx –Xms:指定最大堆和最小堆
JVM調優
- -Xmx3g -Xms3g -Xmn1g -Xss256k
-Xmx3g -Xms3g,將JVM最大內存與初始內存設置相等,避免JVM垃圾回收後重新分配內存;-Xmn1g,年輕代Sun官方推薦配置爲整個堆的3/8,通常設置爲1/3或1/4;-Xss256k,減小每條線程的堆棧大小,能生成更多的線程。 - -XX:NewRatio=4
調整年輕代與年老代比例(年輕代:年老代=1:4) - -XX:MaxTenuringThreshold=0
設置晉升到老年代的對象年齡。如果設置爲0的話,則年輕代對象不經過Survivor區,直接進入年老代。如果將此值設置爲一個較大值,則年輕代對象會在Survivor區進行多次複製。 - UseConcMarkSweepGC
JVM在server模式下默認使用PararrelScavenge+SerialOld的收集器組合進行內存回收,不支持與用戶線程併發執行。可使用ParNew+CMS+SerialOld的收集器組合進行內存回收(SerialOld收集器做爲CMS收集器出現ConcurrentModeFailure失敗後的後備收集器使用),減少stop-the-world時間。 - -XX:CMSFullGCsBeforeCompaction
使用CMS時,設置CMS收集器在進行若干次垃圾收集後再啓動一次內存碎片
https://www.cnblogs.com/pony1223/p/8661219.html