JVM系列筆記目錄
- 虛擬機的基礎概念
- class檔案結構
- class檔案加載程序
- jvm記憶體模型
- JVM常用指令
- GC與調優
GC常用引數
- -Xmn -Xms -Xmx -Xss 年輕代 最小堆 最大堆 堆疊空間
- -XX:+UseTLAB 使用TLAB,默認打開
- -XX:+PrintTLAB 列印TLAB的使用情況
- -XX:TLABSize 設定TLAB大小
- -XX:+DisableExplictGC 禁止代碼中顯示呼叫GC
- -XX:+PrintGC 列印GC情況
- -XX:+PrintGCDetails 列印GC詳細程序
- -XX:+PrintHeapAtGC 在列印GC程序中列印機堆情況
- -XX:+PrintGCTimeStamps 列印GC時間戳
- -XX:+PrintGCApplicationConcurrentTime (低) 列印應用程式時間
- -XX:+PrintGCApplicationStoppedTime低) 列印暫停時長
- -XX:+PrintReferenceGC (重要性低) 記錄回收了多少種不同參考型別的參考
- -verbose:class 類加載詳細程序
- -XX:+PrintVMOptions 列印虛擬機的引數
- -XX:+PrintFlagsFinal 列印機最終的引數
- -XX:+PrintFlagsInitial 列印機初始的引數
- -Xloggc:opt/log/gc.log 指定GC存盤的路徑
- -XX:MaxTenuringThreshold 指定升代年齡,最大值15
- -XX:PreBlockSpin 鎖自旋次數
- -XX:CompileThreshold 熱點代碼檢測引數
Parallel常用引數
- -XX:SurvivorRatio survivor區比例
- -XX:PreTenureSizeThreshold 指定大物件到底多大
- -XX:MaxTenuringThreshold 指定升代年齡,最大值15
- -XX:+ParallelGCThreads 并行收集器的執行緒數,同樣適用于CMS,一般設為和CPU核數相同
- -XX:+UseAdaptiveSizePolicy 自動選擇各區大小比例
CMS常用引數
- -XX:+UseConcMarkSweepGC 使用CMS垃圾回收器
- -XX:ParallelCMSThreads CMS執行緒數量
- -XX:CMSInitiatingOccupancyFraction 使用多少比例的老年代后開始CMS收集,默認是68%(近似值),如果頻繁發生SerialOld卡頓,應該調小
- -XX:+UseCMSCompactAtFullCollection 在FGC時進行壓縮
- -XX:CMSFullGCsBeforeCompaction 多少次FGC之后進行壓縮
- -XX:+CMSClassUnloadingEnabled CMS運行類卸載
- -XX:CMSInitiatingPermOccupancyFraction CMS達到什么比例時進行Perm回收
- GCTimeRatio 設定GC時間占用程式運行時間的百分比
- -XX:MaxGCPauseMillis 停頓時間,是一個建議時間,GC會嘗試用各種手段達到這個時間,比如減小年輕代
G1常用引數
- -XX:+UseG1GC 使用G1
- -XX:MaxGCPauseMillis 建議值,G1會嘗試調整Young區的塊數來達到這個值
- -XX:+G1HeapRegionSize 磁區大小,建議逐漸增大該值,1 2 4 8 16 32M; 隨著size增加,垃圾的存活時間更長,GC間隔更長,但每次GC的時間也會更長
- G1NewSizePercent 新生代最小比例,默認為5%
- G1MaxNewSizePercent 新生代最大比例,默認為60%
- GCTimeRatio GC時間建議比例,G1會根據這個值調整堆空間
- ConcGCThreads 執行緒數量
- InitiatingHeapOccupancyPercent 啟動G1的堆空間占用比例
知識分享,轉載請注明出處,學無先后,達者為先!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/179020.html
標籤:其他
