一、-Xms20M:html
表示設置jvm堆的最小值爲20M,必須以M爲單位jvm
二、-Xmx20M:佈局
表示設置JVM堆的最大值爲20M,必須以M爲單位。將-Xmx和-Xms設置爲同樣能夠避免JVM內存自動擴展。大的項目-Xmx和-Xms通常都要設置spa
到10G、20G甚至還要高指針
-XX:NewSize:htm
新生代的大小對象
-XX:MaxNewSize:blog
最大新生代的內存大小內存
三、-verbose:gc:get
表示輸出虛擬機中GC的詳細狀況
四、-Xss128k:
表示能夠設置虛擬機棧的大小爲128k
五、-Xoss128k:
表示設置本地方法棧的大小爲128k。不過HotSpot並不區分虛擬機棧和本地方法棧,所以對於HotSpot來講這個參數是無效的
六、-XX:PermSize=10M:
表示JVM初始分配的永久代的容量,必須以M爲單位
七、-XX:MaxPermSize=10M:
表示JVM容許分配的永久代的最大容量,必須以M爲單位,大部分狀況下這個參數默認爲64M
-XX:MetaspaceSize=:
Metaspace默認大小
-XX:MaxMetaspaceSize=:
Metaspace最大空間大小
-XX:+UseCompressedClassPointers:
啓用壓縮的類指針,也就是32位,+啓動,-關閉
-XX:+InitialCodeCacheSize:
CodeCache初始大小
-XX:+ReservedCodeCacheSize:
CodeCache最大內存
-XX:+CompressedClassSpaceSize:
啓動了CCS,纔會有這部分空間
八、-Xnoclassgc:
表示關閉JVM對類的垃圾回收
九、-XX:+TraceClassLoading:
表示查看類的加載信息
十、-XX:+TraceClassUnLoading:
表示查看類的卸載信息
十一、-XX:NewRatio=4:
表示設置年輕代:老年代的大小比值爲1:4,這意味着年輕代佔整個堆的1/5
十二、-XX:SurvivorRatio=8:
表示設置2個Survivor區:1個Eden區的大小比值爲2:8,這意味着Survivor區佔整個年輕代的1/5,這個參數默認爲8
1三、-Xmn20M:
表示設置年輕代的大小爲20M
1四、-XX:+HeapDumpOnOutOfMemoryError:
表示可讓虛擬機在出現內存溢出異常時Dump出當前的堆內存轉儲快照
1五、-XX:+UseG1GC:
表示讓JVM使用G1垃圾收集器
1六、-XX:+PrintGCDetails:
表示在控制檯上打印出GC具體細節
1七、-XX:+PrintGC:
表示在控制檯上打印出GC信息
1八、-XX:PretenureSizeThreshold=3145728:
表示對象大於31457283M、時直接進入老年代分配,這裏只能以字節做爲單位
1九、-XX:MaxTenuringThreshold=1:
表示對象年齡大於1,自動進入老年代
-XX:TargetSurvivorRatio:
若是進行進行一次GC存活的對象超過這個參數,會計算相同年齡全部對象大小的綜合大於Survivor空間的一半,年齡大於或等於該年齡的對象
就能夠直接進入老年代,無須等到MaxTenuringThreshold要求的年齡
-XX:PringTenuringDistribution:
對象發生晉升的時候,打印堆中各個對象的年齡
20、-XX:CompileThreshold=1000:
表示一個方法被調用1000次以後,會被認爲是熱點代碼,並觸發即時編譯
2一、-XX:+PrintHeapAtGC:
表示能夠看到每次GC先後堆內存佈局
2二、-XX:+PrintTLAB:
表示能夠看到TLAB的使用狀況
2三、-XX:+UseSpining:
開啓自旋鎖
2四、-XX:PreBlockSpin
更改自旋鎖的自旋次數,使用這個參數必須先開啓自旋鎖
轉載自:http://www.javashuo.com/article/p-mimwrvau-ev.html,我的有加入Jdk1.8的相關參數