簡體   English   中英

G1的Java GC堆參數

[英]java GC heap params for G1

我正在為Java 7使用以下JAVA GC參數。

-Xmx12g -Xms12g 
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=15 -XX:ConcGCThreads=8 -XX:ParallelGCThreads=16 -XX:G1ConcRefinementThreads=17 -XX:+UseCompressedOops -XX:G1ReservePercent=20 -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent 

我想知道我們應該看到GC觸發了多少百分比的堆利用率。

-XX:G1ReservePercent=20 :保留20%的保留空間。

-XX:InitiatingHeapOccupancyPercent=15 :由於這個原因,我認為當我的堆使用65%時(總計100%-15 = 85,但保留了20%因此65%),那么GC將被觸發。

我的理解正確嗎?

在解決JDK-8151176之前,IHOP計算有些特殊。 將其與相對於總堆的活動集大小進行比較,但是活動集大小通常不能像總堆那么大,因為在測量占用率時,年輕區域中的eden和from-space始終為空。

G1ReservePercent未計入IHOP,相反,設置后者時需要考慮前者。

總計100%-15 = 85

那是倒退。 這是關於占用率 ,而不是可用空間。 就在名稱中。

從參數定義-XX:InitiatingHeapOccupancyPercent = 85開始,這意味着標記周期將從總堆的85%開始(此處沒有其他參數與-XX:InitiatingHeapOccupancyPercent合並)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM