转载

从GC日志中可以得到哪些信息

GC日志中包含的信息有如下:

  • GC操作的时间点
  • 当前GC操作距离Java应用启动时刻的时间
  • GC操作的类型, Full GC 或者 GC
  • GC的触发原因,比如 System.gc()
  • 堆的变化,包括年青代、年老代、元数据区、Java堆,在本次GC操作前、后及总占用空间
  • 本次GC操作花费的时间
  • 本次GC操作花费时间的分布,分别为用户态、系统态、总时间

从上述信息中,可以进一步提取如下信息:

  • 两次 GC 操作之间的时间间隔
  • 两次 Full GC 操作之间的时间间隔
  • 一段时间内的 GC 次数,GC操作总体花费的时间,单次GC操作平均花费时间,以及最大值和最小值
  • Full GC 的次数,总体花费时间,单次 Full GC 操作平均花费时间,以及最大值和最小值
  • 两次 Full GC 操作之间, GC 操作的次数,以及平均值
  • 老年代的使用率,占用的空间,变化趋势
  • Java堆的使用率,占用的空间,变化趋势

Java应用运行在JVM之上, GC 操作是JVM在运行时触发的一类行为。从技术上讲 GC 不可避免,但从业务角度,我们期望计算机的CPU、内存等资源尽可能的用于业务自身,因此期望相关操作尽可能使用较低的资源,而有较高的吞吐量。

原文  http://www.jackieathome.net/archives/542.html
正文到此结束
Loading...