United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6362677 Change parallel GC collector default number of parallel GC threads.
JDK-6362677 : Change parallel GC collector default number of parallel GC threads.

Details
Type:
Bug
Submit Date:
2005-12-13
Status:
Closed
Updated Date:
2014-03-13
Project Name:
JDK
Resolved Date:
2011-04-20
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P1
Resolution:
Fixed
Affected Versions:
6
Fixed Versions:
hs12 (b02)

Related Reports
Backport:
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
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
EVALUATION

The default to the number of parallel GC threads should be made if
performance is not adversely affected.
                                     
2005-12-20
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'.
                                     
2008-01-11
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
                                     
2009-10-15



Hardware and Software, Engineered to Work Together