The issue is that -Xlog:ref*=debug is the equivalent to -XX:+PrintReferenceGC, according to this page:
https://docs.oracle.com/javase/9/tools/java.htm#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5__CONVERTGCLOGGINGFLAGSTOXLOG-A5046BD1
For users that use +PrintReferenceGC enabled to monitor the time spent in reference processing during GC, this has become impossible.
For example, using Dacapo as an example:
$ java -XX:+UseG1GC -Xlog:gc*,ref*=debug -Xmx100m -Xms100m -jar /dacapo-9.12-bach.jar xalan -s large
JDK9: 28830 lines
JDK11: 59088 lines
$ java -XX:+UseG1GC -Xlog:gc*,ref*=debug -Xmx500m -Xms500m -jar dacapo-9.12-bach.jar tradesoap
JDK9: 920 lines
JDK11: 108715 lines
The current idea is to change the verbosity level for these calls, bringing the usage of -XX:+PrintReferenceGC back to a "normal" level of outputs which can be used for user jobs.
Alternatively a user could just do: -Xlog:gc*,ref*=debug,oopstorage*=off but users who are using -XX:+PrintReferenceGC would still be surprised by the difference in number of print-outs.
Second alternative is to map -Xlog:gc*,ref*=debug,oopstorage*=off to -XX:+PrintReferenceGC.
- duplicates
-
JDK-8210712 Error in PrintReferenceGC legacy VM options translation table
- Resolved
- relates to
-
JDK-8210724 Change the verbosity threshold of logging for [oopstorage,ref]
- Resolved