Garbage collection, particularly G1, uses many, partially concurrent, threads to perform its work.
Particularly for the concurrent threads it is almost impossible to gauge their CPU usage without external tools which people typically do not use. Having this information would help to find the reasons for the experienced performance level in addition to find high CPU users and give tuning advice.
At least in Unix environments this information could be easily retrieved from the OS at VM exit.
The task is to provide this per-gc thread time usage information (usr/sys/real) in the logs at some logging level (e.g. at least PrintGCDetails).
Also consider providing a per group report (refinement, marking, gc worker, other).
Particularly for the concurrent threads it is almost impossible to gauge their CPU usage without external tools which people typically do not use. Having this information would help to find the reasons for the experienced performance level in addition to find high CPU users and give tuning advice.
At least in Unix environments this information could be easily retrieved from the OS at VM exit.
The task is to provide this per-gc thread time usage information (usr/sys/real) in the logs at some logging level (e.g. at least PrintGCDetails).
Also consider providing a per group report (refinement, marking, gc worker, other).
- relates to
-
JDK-8171970 Regularly print GC thread CPU usage times
-
- Open
-
-
JDK-8025094 psr:perf:mwm: 7% off with g1gc compared to default gc
-
- Closed
-