Java 这些GC日志是什么意思?
我刚刚得到了关于使用GC调优来提高性能的信息 我正在尝试打印GC日志,如下所示,Test是我的类文件 java-Xms2m-Xmx64m-XX:+PrintGCDetails测试 和 java-Xms2m-Xmx64m-XX:+UseSerialGC-XX:+PrintGCDetails测试 每次我得到以下格式的GC日志Java 这些GC日志是什么意思?,java,garbage-collection,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, 0x00000000f6f4000
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参数,但它打印相同的输出
从现在起,我已经在谷歌上尝试理解这些日志了
谷歌解释的格式是
8109.128: [GC [PSYoungGen: 109884K->14201K(139904K)] 691015K->595332K(1119040K), 0.0454530 secs]
我能理解
问题
1如何以我后面提到的格式打印GC日志。
有人能解释一下我得到的日志吗?是的。。。。
我自己弄的
我错误地认为GC正在发生,但并没有发生,所以它向我展示了不同时代使用的空间
当我运行一个测试应用程序时,我的应用程序足够小,不会导致GC。
我在代码中插入了System.gc以满足某些条件,并获得了预期的gc日志
[GC 645K->288K(121344K), 0.0042354 secs]
[Full GC 288K->238K(121344K), 0.0219605 secs]
这些日志在我看来非常清晰,也比你发布的1行代码片段更清晰、更详细。你不明白其中哪一部分?你想找出什么是你不能找到的?我无法理解GC前后的内存大小,即使在提供-XX:+PrintGCTimeStamps@Gagravarr你能帮忙吗?