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

alc*_*chi 2 java garbage-collection jvm jvm-hotspot

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

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

为了避免这种行为,我希望每个人都能记录到包含文件名中PID的不同文件.就像是:

-Xloggc:/var/log/jvm_gc_<PID>.log
Run Code Online (Sandbox Code Playgroud)

其中<PID>将是JVM实例的PID.

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

apa*_*gin 7

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

-Xloggc:/var/log/jvm_gc_%p.log
Run Code Online (Sandbox Code Playgroud)