jvm參數

-X :非標準選項java

-XX:非穩定選項tomcat

 

在選項名前用 「+」 或 「-」 表示開啓或關閉特定的選項,例:spa

    -XX:+UseCompressedOops:表示開啓 壓縮指針.net

    -XX:-UseCompressedOops:表示關閉 壓縮指針線程

 

1.堆分配參數
-Xmn10M:設置新生代區域大小爲10M指針

-XX:NewSize=2M:設置新生代初始大小爲2M日誌

-XX:MaxNewSize=2M:設置新生代最大值爲2M對象

- - ##(若是以上三個同時設置了,誰在後面誰生效。生產環境使用-Xmn便可,避免抖動)blog

-Xms128M:設置java程序啓動時堆內存128M(默認爲物理內存1/64,且小於1G)內存

-Xmx256M:設置最大堆內存256M,超出後會出現 OutOfMemoryError(默認爲物理內存1/64,且小於1G)

- - ##(生產環境 -Xms 與 -Xmx 最好同樣,避免抖動)
-Xss1M:設置線程棧的大小 1M(默認1M)

    •  -XX:ThreadStackSize,-Xss 設置在後面,以-Xss爲準;  -XX:ThreadStackSize設置在後面,主線程以 -Xss爲準,其餘線程以  -XX:ThreadStackSize爲準

-XX:MinHeapFreeRatio=40:設置堆空間最小空閒比例(默認40)(當-Xmx與-Xms相等時,該配置無效)

-XX:MaxHeapFreeRatio=70:設置堆空間最大空閒比例(默認70)(當-Xmx與-Xms相等時,該配置無效)

-XX:NewRatio=2:設置年輕代與年老代的比例爲2:1

-XX:SurvivorRatio=8:設置年輕代中eden區與survivor區的比例爲8:1

-XX:MetaspaceSize=64M:設置元數據空間初始大小(取代-XX:PermSize)

-XX:MaxMetaspaceSize=128M:設置元數據空間最大值(取代以前-XX:MaxPermSize)

-XX:TargetSurvivorRatio=50:設置survivor區使用率。當survivor區達到50%時,將對象送入老年代

-XX:+UseTLAB:在年輕代空間中使用本地線程分配緩衝區(TLAB),默認開啓

-XX:TLABSize=512k:設置TLAB大小爲512k

-XX:+UseCompressedOops:使用壓縮指針,默認開啓

-XX:MaxTenuringThreshold=15:對象進入老年代的年齡(Parallel是15,CMS是6)

2.垃圾回收器相關
-XX:MaxGCPauseMillis:設置最大垃圾收集停頓時間(收集器工做時會調整其餘參數大小,儘量將停頓控制在指定時間內)

-XX:+UseAdaptiveSizePolicy:打開自適應GC策略(該摸式下,各項參數都會被自動調整)

 

-XX:+UseSerialGC:在年輕代和年老代使用串行回收器

 
-XX:+UseParallelGC:使用並行垃圾回收收集器,默認會同時啓用 -XX:+UseParallelOldGC(默認使用該回收器)

-XX:+UseParallelOldGC:開啓老年代使用並行垃圾收集器,默認會同時啓用 -XX:+UseParallelGC

-XX:ParallelGCThreads=4:設置用於垃圾回收的線程數爲4(默認與CPU數量相同)

 
-XX:+UseConcMarkSweepGC:使用CMS收集器(年老代)

-XX:CMSInitiatingOccupancyFraction=80:設置CMS收集器在年老代空間被使用多少後觸發

-XX:+CMSClassUnloadingEnabled:容許對類元數據進行回收

-XX:+UseCMSInitiatingOccupancyOnly:只在達到閾值的時候,才進行CMS回收

 
-XX:+UseG1GC:使用G1回收器

-XX:G1HeapRegionSize=16m:使用G1收集器時設置每一個Region的大小(範圍1M - 32M)

-XX:MaxGCPauseMillis=500 :設置最大暫停時間(毫秒)

 
-XX:+DisableExplicitGC:禁止顯示GC的調用(即禁止開發者的 System.gc();)

 

2.GC日誌
-XX:+PrintGCDetails:打印GC信息

-XX:+PrintGCTimeStamps :打印每次GC的時間戳(如今距離啓動的時間長度)

-XX:+PrintGCDateStamps :打印GC日期

-XX:+PrintHeapAtGC:每次GC時,打印堆信息

-Xloggc:/usr/local/tomcat/logs/gc.$$.log :GC日誌存放的位置

3.堆快照
-XX:+HeapDumpOnOutOfMemoryError:出現內存溢出時存儲堆信息,配合 -XX:HeapDumpPath 使用

 

-XX:HeapDumpPath=/usr/local/tomcat/logs/oom.%t.log:堆快照存儲位置

 

-XX:+UseLargePages:使用大頁  

-XX:LargePageSizeInBytes=4m:指定大頁的大小(必須爲2的冪)

 

滾動日誌記錄
-XX:+UseGCLogFileRotation  : 開啓滾動日誌記錄
-XX:NumberOfGCLogFiles=5 :滾動數量,命名爲filename.0, filename.1 .....  filename.n-1,  而後再從filename.0 開始,並覆蓋已經存在的文件
-XX:GCLogFileSize=8k  :  每一個文件大小,當達到該指定大小時,會寫入下一個文件
-Xloggc:/gc/log   :日誌文件位置
————————————————
版權聲明:本文爲CSDN博主「liyongbing1122」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/liyongb...

相關文章
相關標籤/搜索