JDK-6362677 : Change parallel GC collector default number of parallel GC threads.
Type:Bug
Component:hotspot
Sub-Component:gc
Affected Version:6
Priority:P1
Status:Closed
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2005-12-13
Updated:2017-05-19
Resolved:2011-04-20
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The parallel GC collector by default uses a number of parallel GC threads that is
equal to the number of cpu's. That is too large a number on systems with more
that 8 cpu's.
Comments
SUGGESTED FIX
The number of GC threads for hardware threads > 8
will be in most cases
8 + (n - 8) * 5/8
where n is the number of hardware threads. The
exception is for Niagara2 and later CMT machines
where it is
8 + (n - 8) * 5/16
15-10-2009
WORK AROUND
For use by Solaris, there are two workarounds.
One is to use the client vm, for which the default is the serial collector, which,
as the name implies, is single-threaded. Use '-client'.
The other is to specify the serial collector on the command line, vis.
'-XX:+UseSerialGC'.
11-01-2008
EVALUATION
The default to the number of parallel GC threads should be made if
performance is not adversely affected.