java虛擬機(九)--常用jvm參數


1、-Xms20M:

  表示設置jvm堆的最小值為20M,必須以M為單位

2、-Xmx20M:

  表示設置JVM堆的最大值為20M,必須以M為單位。將-Xmx和-Xms設置為一樣可以避免JVM內存自動擴展。大的項目-Xmx和-Xms一般都要設置

到10G、20G甚至還要高

-XX:NewSize:

  新生代的大小

-XX:MaxNewSize:

  最大新生代的內存大小

3、-verbose:gc:

  表示輸出虛擬機中GC的詳細情況

4、-Xss128k:

  表示可以設置虛擬機棧的大小為128k

5、-Xoss128k:

  表示設置本地方法棧的大小為128k。不過HotSpot並不區分虛擬機棧和本地方法棧,因此對於HotSpot來說這個參數是無效的

6、-XX:PermSize=10M:

  表示JVM初始分配的永久代的容量,必須以M為單位

7、-XX:MaxPermSize=10M:

  表示JVM允許分配的永久代的最大容量,必須以M為單位,大部分情況下這個參數默認為64M

-XX:MetaspaceSize=:

  Metaspace默認大小

-XX:MaxMetaspaceSize=:

  Metaspace最大空間大小

-XX:+UseCompressedClassPointers:

  啟用壓縮的類指針,也就是32位,+啟動,-關閉

-XX:+InitialCodeCacheSize:

  CodeCache初始大小

-XX:+ReservedCodeCacheSize:

  CodeCache最大內存

-XX:+CompressedClassSpaceSize:

  啟動了CCS,才會有這部分空間

8、-Xnoclassgc:

  表示關閉JVM對類的垃圾回收

9、-XX:+TraceClassLoading:

  表示查看類的加載信息

10、-XX:+TraceClassUnLoading:

  表示查看類的卸載信息

11、-XX:NewRatio=4:

  表示設置年輕代:老年代的大小比值為1:4,這意味着年輕代占整個堆的1/5

12、-XX:SurvivorRatio=8:

  表示設置2個Survivor區:1個Eden區的大小比值為2:8,這意味着Survivor區占整個年輕代的1/5,這個參數默認為8

13、-Xmn20M:

  表示設置年輕代的大小為20M

14、-XX:+HeapDumpOnOutOfMemoryError:

  表示可以讓虛擬機在出現內存溢出異常時Dump出當前的堆內存轉儲快照

15、-XX:+UseG1GC:

  表示讓JVM使用G1垃圾收集器

16、-XX:+PrintGCDetails:

  表示在控制台上打印出GC具體細節

17、-XX:+PrintGC:

  表示在控制台上打印出GC信息

18、-XX:PretenureSizeThreshold=3145728:

  表示對象大於31457283M、時直接進入老年代分配,這里只能以字節作為單位

19、-XX:MaxTenuringThreshold=1:

  表示對象年齡大於1,自動進入老年代

-XX:TargetSurvivorRatio:

  如果進行進行一次GC存活的對象超過這個參數,會計算相同年齡所有對象大小的綜合大於Survivor空間的一半,年齡大於或等於該年齡的對象

就可以直接進入老年代,無須等到MaxTenuringThreshold要求的年齡

-XX:PringTenuringDistribution:

  對象發生晉升的時候,打印堆中各個對象的年齡

20、-XX:CompileThreshold=1000:

  表示一個方法被調用1000次之后,會被認為是熱點代碼,並觸發即時編譯

21、-XX:+PrintHeapAtGC:

  表示可以看到每次GC前后堆內存布局

22、-XX:+PrintTLAB:

  表示可以看到TLAB的使用情況

23、-XX:+UseSpining:

  開啟自旋鎖

24、-XX:PreBlockSpin

  更改自旋鎖的自旋次數,使用這個參數必須先開啟自旋鎖

轉載自:https://www.cnblogs.com/xrq730/p/4830692.html,個人有加入Jdk1.8的相關參數


免責聲明!

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



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