-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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章