如何将GC输出记录到特定文件,包括文件名中的PID?

时间:2014-07-01 09:42:59

标签: java garbage-collection jvm jvm-hotspot

Hotspot JVM允许使用-Xloggc:选项将GC输出记录到特定文件。

问题是我有几个运行所有JVM实例的JVM实例从公共XML配置文件中读取相同的配置选项,所以我只能看到其中一个实例的输出。

为了避免这种行为,我希望每个人都能记录到包含文件名中PID的不同文件。类似的东西:

-Xloggc:/var/log/jvm_gc_<PID>.log

其中&lt; PID&gt;将是JVM实例的PID。

我不知道HotSpot是否能够插入这个内容,例如带有$$的linux bash shell。

2 个答案:

答案 0 :(得分:6)

您可以使用%p,但它仅适用于Java 8:

-Xloggc:/var/log/jvm_gc_%p.log

答案 1 :(得分:0)

除了apangin的回答: %t in file name will be replaced by time string: YYYY-MM-DD_HH-MM-SS

来源:https://bugs.openjdk.java.net/browse/JDK-7164841