-Xlog:gc + meta * = trace,rt * = off:file = gcmetatrace.txt
我尝试使用上述选项启用GC日志记录。这是行不通的。我正在使用JDK13。meta选项可与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