如何将冗长的垃圾回收输出重定向到文件?

2022-08-31 13:38:50

如何将详细垃圾回收输出重定向到文件?Sun的网站显示了Unix的一个例子,但它不适用于Windows。


答案 1

从输出:java -X

    -Xloggc:<file>    log GC status to a file with time stamps

记录如下

-Xloggc:文件名

设置应将详细 GC 事件信息重定向到该文件以进行日志记录。写入此文件的信息类似于 自每个记录的事件之前的第一个 GC 事件以来经过的时间的输出。如果两者都使用相同的命令给出,则该选项将覆盖。-verbose:gc-Xloggc-verbose:gcjava

例:

    -Xloggc:garbage-collection.log

因此,输出如下所示:

0.590: [GC 896K->278K(5056K), 0.0096650 secs]
0.906: [GC 1174K->774K(5056K), 0.0106856 secs]
1.320: [GC 1670K->1009K(5056K), 0.0101132 secs]
1.459: [GC 1902K->1055K(5056K), 0.0030196 secs]
1.600: [GC 1951K->1161K(5056K), 0.0032375 secs]
1.686: [GC 1805K->1238K(5056K), 0.0034732 secs]
1.690: [Full GC 1238K->1238K(5056K), 0.0631661 secs]
1.874: [GC 62133K->61257K(65060K), 0.0014464 secs]

答案 2

此外,如果还想通过管道将输出传输到单独的文件,则可以执行以下操作:

Sun JVM 上:

-Xloggc:C:\whereever\jvm.log -verbose:gc -XX:+PrintGCDateStamps

IBM JVM 上:

-Xverbosegclog:C:\whereever\jvm.log