官网:https://github.com/chewiebug/GCViewer
-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最短/最长中断的时间