Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将GC输出记录到特定文件中,包括文件名中的PID?_Java_Garbage Collection_Jvm_Jvm Hotspot - Fatal编程技术网

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

Java 如何将GC输出记录到特定文件中,包括文件名中的PID?,java,garbage-collection,jvm,jvm-hotspot,Java,Garbage Collection,Jvm,Jvm Hotspot,Hotspot JVM允许使用-Xloggc:选项将GC输出记录到特定文件 问题是,我有几个JVM实例在运行,它们都从一个公共XML配置文件中读取相同的配置选项,因此我只能看到其中一个实例的输出 为了避免这种行为,我希望他们每个人都登录到一个不同的文件,其中包括文件名中的PID。比如: -Xloggc:/var/log/jvm_gc_<PID>.log -Xloggc:/var/log/jvm\u gc\uu.log 其中将是JVM实例的PID 我不知道HotSpot是否能够像l

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

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

为了避免这种行为,我希望他们每个人都登录到一个不同的文件,其中包括文件名中的PID。比如:

-Xloggc:/var/log/jvm_gc_<PID>.log
-Xloggc:/var/log/jvm\u gc\uu.log
其中将是JVM实例的PID


我不知道HotSpot是否能够像linux bash shell那样插入$$。

您可以使用
%p
,但它只能在Java 8:

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

除了阿潘金的回答之外:
%t文件名将替换为时间字符串:YYYY-MM-DD\u HH-MM-SS

资料来源: