十個最常用的JVM 配置參數


1.-Xms:初始堆大小。只要啟動,就占用的堆大小。

2.-Xmx:最大堆大小。java.lang.OutOfMemoryError:Java heap這個錯誤可以通過配置-Xms和-Xmx參數來設置。

3.-Xss:棧大小分配。棧是每個線程私有的區域,通常只有幾百K大小,決定了函數調用的深度,而局部變量、參數都分配到棧上。當出現大量局部變量,遞歸時,會發生棧空間OOM(java.lang.StackOverflowError)之類的錯誤。

4.XX:NewSize:設置新生代大小的絕對值。

5.-XX:NewRatio:設置年輕代和年老代的比值。比如設置為3,則新生代:老年代=1:3,新生代占總heap的1/4。

6.-XX:MaxPermSize:設置持久代大小。java.lang.OutOfMemoryError:PermGenspace這個OOM錯誤需要合理調大PermSize和MaxPermSize大小。

7.-XX:SurvivorRatio:年輕代中Eden區與兩個Survivor區的比值。注意,Survivor區有form和to兩個。比如設置為8時,那么eden:form:to=8:1:1。

8.-XX:HeapDumpOnOutOfMemoryError:發生OOM時轉儲堆到文件,這是一個非常好的診斷方法。

9.-XX:HeapDumpPath:導出堆的轉儲文件路徑。

10.-XX:OnOutOfMemoryError:OOM時,執行一個腳本,比如發送郵件報警,重啟程序。后面跟着一個腳本的路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM