中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM參數表指的是什么

發布時間:2021-10-20 09:29:34 來源:億速云 閱讀:143 作者:柒染 欄目:大數據

JVM參數表指的是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Java HotSpot VM中-XX:的可配置參數列表進行描述;這些參數可以被松散的聚合成三類:


行為參數(Behavioral Options):用于改變jvm的一些基礎行為;
性能調優(Performance Tuning):用于jvm的性能調優;
調試參數(Debugging Options):一般用于打開跟蹤、打印、輸出等jvm參數,用于顯示jvm更加詳細的信息;

行為參數:

參數及其默認值描述
-XX:-DisableExplicitGC禁止調用System.gc();但jvm的gc仍然有效
-XX:+MaxFDLimit最大化文件描述符的數量限制
-XX:+ScavengeBeforeFullGC新生代GC優先于Full GC執行
-XX:+UseGCOverheadLimit在拋出OOM之前限制jvm耗費在GC上的時間比例
-XX:-UseConcMarkSweepGC對老生代采用并發標記交換算法進行GC;指多個線程并發執行GC,一般適用于多處理器系統中,可以提高GC的效率,但算法復雜,系統消耗較大; 
-XX:-UseParallelGC啟用并行GC;指GC運行時,對應用程序運行沒有影響,GC和app兩者的線程在并發執行,這樣可以最大限度不影響app的運行; 
-XX:-UseParallelOldGC對Full GC啟用并行,當-XX:-UseParallelGC啟用時該項自動啟用
-XX:-UseSerialGC啟用串行GC;jvm的默認GC方式,一般適用于小型應用和單處理器,算法比較簡單,GC效率也較高,但可能會給應用帶來停頓;
-XX:+UseThreadPriorities啟用本地線程優先級

性能調優

參數及其默認值描述
-XX:LargePageSizeInBytes=4m設置用于Java堆的大頁面尺寸
-XX:MaxHeapFreeRatio=70GC后java堆中空閑量占的最大比例
-XX:MaxNewSize=size新生成對象能占用內存的最大值
-XX:MaxPermSize=64m老生代對象能占用內存的最大值
-XX:MinHeapFreeRatio=40GC后java堆中空閑量占的最小比例
-XX:NewRatio=2新生代內存容量與老生代內存容量的比例
-XX:NewSize=2.125m新生代對象生成時占用內存的默認值
-XX:ReservedCodeCacheSize=32m保留代碼占用的內存容量
-XX:ThreadStackSize=512設置線程棧大小,若為0則使用系統默認值
-XX:+UseLargePages使用大頁面內存
-XX:PretenureSizeThreshold=10000大于指定大小的對象,直接進入老年代
-XX:MaxTenuringThreshold=15晉升老年代的年齡閥值
-XX:+HandlePromotionFailure=true關閉空間分配擔保
  
  

調試參數列表:

參數及其默認值描述
-XX:-CITime打印消耗在JIT編譯的時間
-XX:ErrorFile=./hs_err_pid<pid>.log保存錯誤日志或者數據到文件中
-XX:-ExtendedDTraceProbes開啟solaris特有的dtrace探針
-XX:HeapDumpPath=./java_pid<pid>.hprof指定導出堆信息時的路徑或文件名
-XX:-HeapDumpOnOutOfMemoryError當首次遭遇OOM時導出此時堆中相關信息
-XX:OnError="<cmd args>;<cmd args>"出現致命ERROR之后運行自定義命令
-XX:OnOutOfMemoryError="<cmd args>;<cmd args>"當首次遭遇OOM時執行自定義命令
-XX:-PrintClassHistogram遇到Ctrl-Break后打印類實例的柱狀信息,與jmap -histo功能相同
-XX:-PrintConcurrentLocks遇到Ctrl-Break后打印并發鎖的相關信息,與jstack -l功能相同
-XX:-PrintCommandLineFlags打印在命令行中出現過的標記
-XX:-PrintCompilation當一個方法被編譯時打印相關信息
-XX:-PrintGC每次GC時打印相關信息
-XX:-PrintGC Details每次GC時打印詳細信息
-XX:-PrintGCTimeStamps打印每次GC的時間戳
-XX:-TraceClassLoading跟蹤類的加載信息
-XX:-TraceClassLoadingPreorder跟蹤被引用到的所有類的加載信息
-XX:-TraceClassResolution跟蹤常量池
-XX:-TraceClassUnloading跟蹤類的卸載信息
-XX:-TraceLoaderConstraints跟蹤類加載器約束的相關信息

當系統出現問題的時候,又不能使用外部跟蹤工具(比如JProfiler……)的情況下,以上的這些參數就會發揮重大作用了,比如dump堆信息、打印并發鎖......

G1

參數及其默認值描述
-XX: +UseG1GC啟用G1 GC。JDK7和JDK8要求必須顯示申請啟動G1 GC。JDK9已默認使用G1
-XX: G1NewSizePercent初始年輕代占整個Java Heap的大小,默認值為5%
- XX: G1MaxNewSizePercent最大年輕代占整個Java Heap的大小,默認值為60%
-XXG1HeapRegionSize設置每個Region的大小,單位MB,需要為1,2,4,8,16,32其一,默認是堆內存的1/2000。
-XX:ConcGCThreads與Java應用一起執行的GC線程數量。默認是Java線程的1/4。減少這個參數的數值可能會提升并行回收的效率,即提高系統內部吞吐量(系統是一個整體,CPU資源大家都需要占用),不過如果這個數值過低,也會導致并行回收機制耗時加長
-XX:+InitiatingHeapOccupancyPercent(簡稱IHOP)G1內部并行循環啟動的設置值,默認為Java Heap的45%。這個可以理解為老年代空間占用的空間,GC收集后需要低于45%的占用率。這個值主要是為了決定在什么時間啟動老年代的并行回收循環,這個循環從初始化并行回收開始,可以避免Full GC的發生;
-XX:G1HeapWastePercentG1不會回收的內存大小,默認是堆大小的5%。GC會收集所有的Region,如果值達到5%,就會停下來不再收集了
-XX:G1MixedGCCountTarget設置并行循環之后需要有多少個混合GC啟動,默認值是8個。老年代Regions的回收時間通常比年輕代的收集時間要長一些,所以如果混合收集器比較多,可以允許G1延長老年代的收集時間;
-XX:+G1PrintRegionLivenessInfo這個參數需要和-XX:+UnlockDiagnosticVMOptions配合啟動,這可以理解,它們本身就是屬于VM的調試信息。如果開啟了,VM會打印堆內存里每個Region的存活對象信息。這個信息在標記循環結束后可以打印出來
-XX:G1ReservePercent這個值是為了保留一些空間用于年代之間的提升,默認值是堆空間的10%。注意這個空間保留后就不會用在年輕代了,大家可以看到GC日志里輸出顯示,我們大量執行的是年輕代回收,所以如果你的應用里面有比較大的堆內存空間、比較多的大對象存活,那還是減少一點保留空間吧,這樣會給年輕代更多的預留空間、GC之間更長的處理時間;
-XX:+G1SummarizeRSetStats這個也是一個VM的調試信息。如果啟用,會在VM推出的時候打印出RSets的詳細總結信息。如果啟用-XX:G1SummaryRSetStatsPeriod參數,就會階段性地打印RSets信息;
-XX:+G1TraceConcRefinement這個也是一個VM的調試信息。如果啟用,并行回收階段的日志就會被詳細打印出來;
-XX:+GCTimeRatioGC的有些階段是需要Stop-the-World,即停止應用線程的,這個參數就是計算花在Java應用線程上和花在GC線程上的時間比率,默認是9。這個參數主要的目的是讓用戶可以控制花在應用上的時間,G1的計算公式是100/(1+GCTimeRatio),這樣如果采用9,則最多10%的時間會花在GC工作上面。Parallel GC的默認值是99,表示1%的時間被用在GC上面,這是因為Parallel GC貫穿整個GC,而G1則根據Region來進行劃分,不需要全局性掃描Java Heap;
-XX:+UseStringDeduplication手動開啟Java String對象的分割工作,這個是JDK8u20之后新增的參數,主要用于相同String避免重復申請內存,節約Region的使用;
-XX:MaxGCPauseMillsG1停止執行的一個目標值,單位是毫秒,默認是200毫秒,這個值不一定真的會達到。這個參數會通過控制年輕代的大小來實現目標。
  
  
  
  

關于JVM參數表指的是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jvm
AI

太和县| 义乌市| 宁津县| 饶河县| 恩施市| 德惠市| 伊宁市| 富源县| 潮州市| 咸丰县| 新乐市| 石景山区| 兴文县| 东阳市| 天峨县| 凤山市| 乡城县| 兰州市| 绥宁县| 德阳市| 安塞县| 河间市| 鄢陵县| 湘乡市| 长兴县| 瑞金市| 莱芜市| 和政县| 航空| 陇川县| 商河县| 宜黄县| 徐汇区| 原平市| 安西县| 靖远县| 遵义县| 许昌市| 玛曲县| 曲阜市| 高淳县|