这些GC日志的含义是什么?

时间:2014-12-16 04:51:05

标签: java garbage-collection

我只是通过GC调整获得了有关性能改进的信息。

我正在尝试打印如下所示的GC日志,Test是我的类文件。

java -Xms2m -Xmx64m -XX:+ PrintGCDetails测试

java -Xms2m -Xmx64m -XX:+ UseSerialGC -XX:+ PrintGCDetails测试

每次我以下面的格式获取GC日志

Heap
 def new generation   total 1152K, used 347K [0x00000000f6e00000, 0x00000000f6f40000, 0x00000000f8350000)
  eden space 1024K,  33% used [0x00000000f6e00000, 0x00000000f6e56f68, 0x00000000f6f00000)
  from space 128K,   0% used [0x00000000f6f00000, 0x00000000f6f00000, 0x00000000f6f20000)
  to   space 128K,   0% used [0x00000000f6f20000, 0x00000000f6f20000, 0x00000000f6f40000)
 tenured generation   total 768K, used 0K [0x00000000f8350000, 0x00000000f8410000, 0x00000000fae00000)
   the space 768K,   0% used [0x00000000f8350000, 0x00000000f8350000, 0x00000000f8350200, 0x00000000f8410000)
 compacting perm gen  total 21248K, used 2345K [0x00000000fae00000, 0x00000000fc2c0000, 0x0000000100000000)
   the space 21248K,  11% used [0x00000000fae00000, 0x00000000fb04a620, 0x00000000fb04a800, 0x00000000fc2c0000)
No shared spaces configured.

我还尝试使用 -XX:+ PrintGCTimeStamps vm参数,但它会输出相同的输出。

我已经尝试了解谷歌中的这些日志。

google中解释的格式

8109.128: [GC [PSYoungGen: 109884K->14201K(139904K)] 691015K->595332K(1119040K), 0.0454530 secs]

我能理解。

问题
1)如何以后面提到的格式打印GC日志 2)任何人都可以解释我的日志吗?

1 个答案:

答案 0 :(得分:0)

是.... 我自己得到了

我误以为GC一直在发生,但没有发生,所以它向我展示了不同世代使用的空间,

当我运行测试应用程序时,我的应用程序足够小,不会导致GC。 我在代码中插入了System.gc()以获取某些条件并获得了预期的GC日志。

[GC 645K->288K(121344K), 0.0042354 secs]
[Full GC 288K->238K(121344K), 0.0219605 secs]