英文:
GC logging : gc+meta option does not work on open jdk 14
问题
-Xlog:gc+meta*=trace,rt*=off:file=gcmetatrace.txt
我尝试使用上述选项启用GC日志记录。它不起作用。我正在使用JDK 13。meta选项在JDK 13中能工作吗?
英文:
-Xlog:gc+meta*=trace,rt*=off:file=gcmetatrace.txt
I tried using the above option to enable GC logging. It does not work. I am using JDK 13. Does meta option work with jdk 13?
答案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] 在日志选择中无效的标签 'meta'。你是不是想说 'metadata'?
我喜欢这个。虚拟机不知道有这样一个标签 meta
,所以它失败了。建议是使用 metadata
,让我们试试:
"-Xlog:gc+metadata*=trace:file=gcmetatrace.txt"
结果是:
[0.005s][warning][logging] 没有与选择匹配的标签集合:gc+metadata*。
问题是,并不是所有的标签都可以单独使用或以某些组合使用,gc+metadata
就是其中之一。不幸的是,这只是一个警告,JVM 进程仍会正常启动,但日志文件将为空(我希望它也能报错)。
所以,回答你的问题:meta
不受支持(甚至不存在),metadata
是受支持的,但不能单独使用。我不知道有没有一个命令可以列出所有标签组合的可用情况,但我可以建议你尝试:
"-Xlog:metadata=trace:file=gcmetatrace.txt"
这会产生一个警告,因为 metadata
不能单独使用,但它也会显示可能的组合(虽然不确定是否全部):
[0.003s][warning][logging] 没有与选择匹配的标签集合:metadata。你是不是想选择以下任意一个?metadata* jfr+metadata* jfr+system+metadata redefine+class+obsolete+metadata
英文:
I guess meta
would be metadata
, but I do not know what rt
should stand for. All the available tags could be listed by java -Xlog:help -version
and there will be a section: Available log tags
. Just notice that not all tags can be used on their own (class
or your metadata
can't).
If I remove rt
(as said, I don't really know what this is supposed to mean) and use:
"-Xlog:gc+meta*=trace:file=gcmetatrace.txt"
it will fail with:
[0.006s][error][logging] Invalid tag 'meta' in log selection. Did you mean 'metadata'?
I like this. there is no such tag meta
that the VM is aware of, as such it fails. The suggestion is to use metadata
, let's try that:
"-Xlog:gc+metadata*=trace:file=gcmetatrace.txt"
The result is:
[0.005s][warning][logging] No tag set matches selection: gc+metadata*.
The problem is that not all tags can be used either individually or in some combinations and gc+metadata
is one of those. Unfortunately, this is just a warning, the JVM process will start just fine, but the log file will be empty (I wish it would error out too).
So, to answer your question: meta
is not supported (it does not even exist), metadata
is supported, but not on its own. I am not aware of a command that would list all available combination of the tags, but I can suggest you could try:
"-Xlog:metadata=trace:file=gcmetatrace.txt"
This will provide a warning, since metadata
is not supported on it's own, but that will also show the possible combinations (not sure if all, though):
[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
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论