我只是通过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)任何人都可以解释我的日志吗?
答案 0 :(得分:0)
是.... 我自己得到了
我误以为GC一直在发生,但没有发生,所以它向我展示了不同世代使用的空间,
当我运行测试应用程序时,我的应用程序足够小,不会导致GC。 我在代码中插入了System.gc()以获取某些条件并获得了预期的GC日志。
[GC 645K->288K(121344K), 0.0042354 secs]
[Full GC 288K->238K(121344K), 0.0219605 secs]