轉載於https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html文章html
JVM參數說明java
-Xms:初始堆大小 默認值=物理內存的1/64,當空餘的堆內存小於40%時,JVM就會增大堆直到-Xmx設置值jvm
-Xmx:最大堆大小 默認值=無聊內存的1/4, 當空餘堆內存大於70%時,JVM會將堆大小減小直到-Xms設置值性能
-Xmn:年輕代 整個堆大小=年輕代大小+年老代大小+持久代大小。 增大年輕代後,將會減小年老代大小,此測試
值對系統性能影響較大。Sun官方推薦配置爲整個堆大小的3/8spa
-XX:NewSize: 年輕代操作系統
-XX:MaxNewSize: 年輕代最大值線程
-XX:PermSize 持久代初始值日誌
-XX:MaxPermSize 持久代最大值server
-Xss 每一個線程的堆棧大小 JDK5之後每一個線程的堆棧大小爲1M,以前是256k。 在相同物理內存下,減少這個
值能生成更多的線程,但操做系統對一個進程中的線程數也是有限制的,3000-5000。通常小的應用,若是棧不
是很深,應該128k夠用的,大的應用建議使用256k。這個值對性能影響比較大,需先測試
-XX:NewRatio 年輕代(包括Eden和兩個Survivor)與年老代的比值 --XX:NewRatio=4表示年輕代與年老代所佔
比值爲1:4,年輕代佔整個堆棧的1/5 。 當Xms=Xmx並設置了Xmn的狀況下,該參數能夠不設置
-XX:SurvivorRatio Eden區與Survivor區的大小壁紙 設置爲8,表示兩個Survivor區與一個Eden區的比值爲2:8
一個Survivor區佔整個年輕代的1/10
-XX:LargePageSizeInBytes 內存頁的大小不可設置過大,會影響到perm的大小 通常值爲128M
-XX:MaxTenuringThreshold 垃圾最大年齡。若是設爲0的話,則年輕代對象不通過Survivor區,直接進入年老
代,對於年老代比較多的應用,則年輕代對象會在Survivor區進行屢次複製,這會增長對象在年輕代的存活時間
增長年輕代被回收的機率,該參數只有在串行GC纔有效
=========================
<jvm-arg>-Xms2048m</jvm-arg> <jvm-arg>-Xmx2048m</jvm-arg> <jvm-arg>-Xmn512m</jvm-arg> <jvm-arg>-Xss1m</jvm-arg> <jvm-arg>-XX:PermSize=256M</jvm-arg> <jvm-arg>-XX:MaxPermSize=256M</jvm-arg> <jvm-arg>-XX:SurvivorRatio=8</jvm-arg> <jvm-arg>-XX:MaxTenuringThreshold=15</jvm-arg> <jvm-arg>-XX:+UseParallelOldGC</jvm-arg> <jvm-arg>-XX:GCTimeRatio=19</jvm-arg> <jvm-arg>-XX:+PrintGCDetails</jvm-arg> <jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>