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

问题描述 投票:1回答:1

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

我尝试使用上述选项启用GC日志记录。这是行不通的。我正在使用JDK13。meta选项可与jdk 13一起使用吗?

java garbage-collection garbage
1个回答
1
投票

我想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
© www.soinside.com 2019 - 2024. All rights reserved.