官網:https://github.com/chewiebug/GCViewer
G1 Gabage Collector
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
5部分參數
第一部分:
column title | meaning of the column |
---|---|
n |
number of events found |
min (s) |
duration of shortest event |
max (s) |
duration of longest event |
avg (s) |
average duration of all events |
stddev |
standard deviation |
sum (s) |
sum of the duration of all events |
sum (%) |
percentage of the total sum duration in the same block |
In the total
line sum (%)
means the percentage of the total pause that was spent for this group of events (81.5% for all "gc events" and 18.5% for all "full gc events").
Metrics ======= GCViewer provides some metrics to help you interpret the graph. Note that some metrics based on averages are shown along with their standard deviation. If it is obvious that the standard deviation is fairly big in comparison to the average, the values are grayed out, indicating that actual values are much smaller or bigger than the average.
如果標准方差明顯大於平均值,且值又是灰色的,說明實際值是非常小或者比平均值大很多!
Summary ------- - Footprint: o Maximal amount of memory allocated 分配的最大內存 - Max heap after conc GC: o Max used heap after concurrent gc. conc gc之后最大使用的堆內存 - Max tenured after conc GC: o Max used tenured heap after concurrent gc (followed by % of max tenured / % of max total heap). 在conc gc之后老年代堆空間的最大使用量 - Max heap after full GC: o Max used heap after full gc. Indicates max live object size and can help to determine heap size.
在全gc之后堆空間的最大使用量,指示存活對象的最大數,可以幫助確定堆size的大小 - Freed Memory: o Total amount of memory that has been freed 已經被釋放的總的內存 - Freed Mem/Min: o Amount of memory that has been freed per minute 每分鍾被釋放的內存的總數 - Total Time: o Time data was collected for (only if timestamp was present in log) 垃圾收集器工作的時間 - Acc Pauses: o Sum of all pauses due to GC 因為垃圾回收而停頓的統計數 - Throughput: o Time percentage the application was NOT busy with GC 垃圾回收時應用程序沒有停頓卡死所占的時間比 - Full GC Performance: o Performance of full collections. Note that all collections that include a collection of the tenured generation or are marked with "Full GC" are considered Full GC. 所有垃圾回收的性能,包括老年代回收或者被標記為全GC被認為是全GC的 - GC Performance: o Performance of minor collections. These are collections that are not full according to the definition above. minor類型回收的性能,這個集合不全是前面的minor類型 Memory ------ - Total heap (usage / alloc max): o Max memory usage / allocation in total heap (the last is the same as "footprint" in Summary) 最大內存使用量/分配的總堆內存 - Tenured heap (usage / alloc max): o Max memory usage / allocation in tenured space 最大內存使用量/分配的老年代空間 - Young heap (usage / alloc max): o Max memory usage / allocation in young space 最大內存使用量/分配的年輕代空間 - Perm heap (usage / alloc max): o Max memory usage / allocation in perm space 最大內存使用量/分配的持久代空間 - Max tenured after conc GC: o see in "summary" section - Avg tenured after conc GC: o average size of tenured heap after concurrent collection conc gc之后年老代堆平均大小 - Max heap after conc GC: o see in "summary" section - Avg heap after conc GC: o average size of concurrent heap after concurrent collection conc gc之后年並發堆平均大小 - Max heap after full GC: o see in "summary" section - Avg after full GC: o The average heap memory consumption after a full collection 全gc之后平均堆內存的消耗量 - Avg after GC: o The average heap memory consumption after a minor collection minor之后平均堆內存的消耗量 - Freed Memory: o Total amount of memory that has been freed 已經被釋放的內存總量 - Freed by full GC: o Amount of memory that has been freed by full collections 通過全GC被釋放的內存總量 - Freed by GC: o Amount of memory that has been freed by minor collections 通過minor GC被釋放的內存總量 - Avg freed full GC: o Average amount of memory that has been freed by full collections 通過全GC被釋放的內存平均量 - Avg freed GC: o Average amount of memory that has been freed by minor collections 通過minor GC被釋放的內存平均量 - Avg rel inc after FGC: o Average relative increase in memory consumption between full collections. This is the average difference between the memory consumption after a full collection to the memory consumption after the next full collection. - Avg rel inc after GC: o Average relative increase in memory consumption between minor collections. This is the average difference between the memory consumption after a minor collection to the memory consumption after the next minor collection. This can be used as an indicator for the amount of memory that survives minor collections and has to be moved to the survivor spaces or the tenured generation. This value added to "Avg freed GC" gives you an idea about the size of the young generation in case you don't have PrintGCDetails turned on. - Slope full GC: o Slope of the regression line for the memory consumption after full collections. This can be used as an indicator for the increase in indispensable memory consumption (base footprint) of an application over time. - Slope GC: o Average of the slope of the regression lines for the memory consumption after minor collections in between full collections. That is, if you have two full collections and many minor collections in between, GCViewer will calculate the slope for the minor collections up to the first full collection, then the slope of the minor collections between the first and the second full collection. Then it will compute a weighted average (each slope wil be weighted with the number of measuring points it was computed with). - initiatingOccFraction (avg / max) o CMS GC kicks in before tenured generation is filled. InitiatingOccupancyFraction tells you the avg / max usage in % of the tenured generation, when CMS GC started (initial mark). This value can be set manually using -XX:CMSInitiatingOccupancyFraction=<value>. - avg promotion o Promotion means the size of objects that are promoted from young to tenured generation during a young generation collection. Avg promotion shows the average amount of memory that is promoted from young to tenured with each young collection (only available with PrintGCDetails) - total promotion o Total promotion shows the total amount of memory that is promoted from young to tenured with all young collections in a file (only available with PrintGCDetails) Pause ----- - Acc Pauses: o Sum of all pauses due to any kind of GC 所有因為GC引起的中斷時間的總計 - Number of Pauses: o Count of all pauses due to any kind of GC 所有因為GC引起的中斷次數的總計 - Avg Pause: o Average length of a GC pause of any kind 平均一次中斷的時間 - Min / max Pause: o Shortest /longest pause of any kind 最短/最長中斷的時間 - Avg pause interval: o avg interval between two pauses of any kind 兩次中斷之間平均的時間間隔 - Min / max pause interval: o Min / max interval between two pauses of any kind 最短/最長的兩次中斷之間平均的時間間隔 - Acc full GC: o Sum of all pauses due to full collections 所有因為全GC引起的中斷時間的總計 - Number of full GC pauses: o Count of all pauses due to full collections 所有因為全GC引起的中斷次數的總計 - Avg full GC: o Average length of a full GC pause 全GC平均一次中斷的時間 - Min / max full GC pause: o Shortest / longest full GC pause 全GC最短/最長中斷的時間 - Acc GC: o Sum of all pauses due to minor collections 所有因為minor GC引起的中斷時間的總計 - Number of GC pauses: o Count of all pauses due to minor collections 所有因為minor GC引起的中斷次數的總計 - Avg GC: o Average length of a minor collection pause minor GC平均一次中斷的時間 - Min / max GC pause: o Shortest / longest minor GC pause minor GC最短/最長中斷的時間