jvm參數含義
來源:互聯網
上載者:User
Java -Xms2g -Xmx2g -Xmn512M -Xss128K -XX:PermSize=128M -XX:MaxPermSize=128M -XX:NewRatio=4 -XX:SurivorRatio=4 -XX:MaxTenuringThreshold=1
-Xms2g:JVM啟動初始化堆大小為2g,Xms的預設是實體記憶體的1/64但小於1G。
-Xmx2g:JVM最大的堆大小為2g,Xmx預設是實體記憶體的1/4但小於1G;將-Xms和-Xmx的值配置為一樣,可以避免每次記憶體回收完成後對JVM堆大小進行重新的調整。
-Xmn512M:堆中的新生代大小為512M
-Xss128K:每個線程的堆棧大小為128K
-XX:PermSize=128M:JVM持久代的初始化大小為128M
-XX:MaxPermSize=128M:JVM持久代的最大大小為128M
-XX:NewRatio=4:JVM堆的新生代和老年代的大小比例為1:4
-XX:SurvivorRatio=4:新生代Surivor區(新生代有2個Surivor區)和Eden區的比例為2:4
-XX:MaxTenuringThreshold=1:新生代的對象經過幾次記憶體回收後(如果還存活),進入老年代。如果該參數設定為0,這表示新生代的對象在記憶體回收後,不進入survivor區,直接進入老年代
Java -XX:+UseParallelGC -XX:ParallelGCThread=4 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy
-XX:+UseParallelGC:使用並行的垃圾收集器,但僅針對新生代有效,老年代仍然使用串列收集器
-XX:ParallelGCThread=4:設定並行記憶體回收行程的線程為4個,該設定最好與處理器的數目相同
-XX:+UseParalleOldGC:配置老年代使用並行垃圾收集器,JDK1.6支援老年代使用並行收集器
-XX:MaxGCPauseMillis=100:設定每次新生代每次收集器記憶體回收的最長時間,如果無法滿足該時間,JVM會自動調整新生代區的大小,以滿足該值
-XX:+UseAdaptiveSizePolicy:設定此值後,JVM會自動調整新生代大小以及相應的surivor區的比例,以達到設定的最低回應時間或者收集頻率等
Java -XX:UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection
-XX:UseConcMarkSweepGC:設定JVM堆的老年代使用CMS並發收集器,設定該參數後,-XX:NewRatio參數失效,但-Xmn參數依然有效
-XX:UseParNewGC:設定新生代使用並發收集器,在JDK1.5以上,JVM會根據系統自動化佈建
-XX:CMSFullGCsBeforeCompaction=5:設定5才CMSGC後對堆空間進行壓縮、整理
-XX:+UseCMSCompactAtFullCollection:開啟對老年代的壓縮,可能會影響效能,但可以消除堆片段