RFR: 8273112: -Xloggc and -Xlog should override -verbose [v2]

Xiaowei Lu github.com+39413832+weixlu at openjdk.java.net
Thu Sep 2 11:16:29 UTC 2021


On Thu, 2 Sep 2021 11:07:51 GMT, Xiaowei Lu <github.com+39413832+weixlu at openjdk.org> wrote:

>> According to java 16 specifications for java command (https://docs.oracle.com/en/java/javase/16/docs/specs/man/java.html), the command line option -Xloggc should override -verbose:gc if both options are given with the same java command. However, gc information still outputs to console even if gc log file is specified.
>> 
>> $java -Xloggc:gc.log -verbose:gc -version
>> [0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:gc.log instead.
>> [0.003s][info ][gc] Using G1
>> $cat gc.log
>> [0.003s][info][gc] Using G1
>> 
>> In addition, since -Xloggc:filename is replaced by -Xlog:gc:filename, can we assume that -Xlog:gc:filename should override -verbose:gc as -Xloggc:filename? Currently, gclog still outputs to both stdout and file if -Xlog and -verbose are given with the same java command.
>> 
>> $java -Xlog:gc:gc.log -verbose:gc -version
>> [0.003s][info][gc] Using G1
>> $cat gc.log
>> [0.003s][info][gc] Using G1
>> 
>> As a result, we propose to put off the log configuration of -verbose option until we are confident that there isn’t -Xloggc or -Xlog options.
>
> Xiaowei Lu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8273112: -Xloggc should override -verbose

Thanks for your suggestions. Yes, I think we should merely focus on the man page and let `-Xloggc:` override `-verbose:gc`. Thus in the new commit, I put off the process of these two legacy flags (in Arguments::handle_deprecated_print_gc_flags()) until the entire command-line has been parsed.

-------------

PR: https://git.openjdk.java.net/jdk/pull/5295


More information about the hotspot-runtime-dev mailing list