GC 日志记录:gc+meta 选项在打开时不起作用 jdk 14

GC logging : gc+meta option does not work on open jdk 14

-Xlog:gc+meta*=trace,rt*=off:file=gcmetatrace.txt

我尝试使用上述选项启用 GC 日志记录。这没用。我正在使用 JDK 13。元选项是否适用于 jdk 13?

我猜meta应该是metadata,但我不知道rt应该代表什么。 java -Xlog:help -version 可以列出所有可用的标签,并且会有一个部分:Available log tags。请注意,并非所有标签都可以单独使用(class 或您的 metadata 不能)。

如果我删除 rt(如前所述,我真的不知道这是什么意思)并使用:

 "-Xlog:gc+meta*=trace:file=gcmetatrace.txt"

它会失败:

[0.006s][error][logging] Invalid tag 'meta' in log selection. Did you mean 'metadata'?

我喜欢这个。没有 VM 知道的标签 meta,因此它失败了。建议使用metadata,试试看:

"-Xlog:gc+metadata*=trace:file=gcmetatrace.txt"

结果是:

[0.005s][warning][logging] No tag set matches selection: gc+metadata*.

问题是并非所有标签都可以单独使用或组合使用,gc+metadata 就是其中之一。不幸的是,这只是一个警告,JVM 进程将正常启动,但日志文件将为空(我希望它也能出错)。

所以,回答你的问题:meta 不受支持(它甚至不存在),metadata 受支持,但不在其上自己的。我不知道会列出所有可用标签组合的命令,但我建议您可以尝试:

 "-Xlog:metadata=trace:file=gcmetatrace.txt" 

这将提供警告,因为 metadata 本身不受支持,但它也会显示可能的组合(但不确定是否全部):

[0.003s][warning][logging] No tag set matches selection: metadata. Did you mean any of the following? metadata* jfr+metadata* jfr+system+metadata redefine+class+obsolete+metadata