Skip to content


(AIX®, Linux®, macOS®, and Windows™ only)

This option relates to the CPU usage of thread categories that can be obtained with the application programming interface. This option affects the way that the VM records the amount of CPU usage of non-Garbage Collection (GC) threads that do work on behalf of GC.

Most GC policies require non-GC threads to do some GC housekeeping work in proportion to the amount of memory allocation that they do. Ideally the exact amount of CPU time that the thread spends doing this housekeeping work should be accounted for in the GC thread category. However there is an overhead that is associated with maintaining the CPU usage data in the correct thread category.

Restriction: This option is not supported on z/OS®. If you attempt to use this option, the following message is generated:

JVMJ9VM145E -XX:-ReduceCPUMonitorOverhead is unsupported on z/OS. Error: Could not create the Java Virtual Machine.



Setting Effect Default
-XX:+ReduceCPUMonitorOverhead Enable yes
-XX:-ReduceCPUMonitorOverhead Disable

When you enable this option, the VM does not maintain information on the amount of CPU usage that non-GC threads spend in doing work on behalf of GC. If you set -XX:-ReduceCPUMonitorOverhead, the OpenJ9 VM monitors the amount of GC work that a non-GC thread does and accounts for it in the GC category. This information is made available in the Setting this option results in a small increase in application startup time, which varies according to platform.

See also