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.

To download the current JDK release, click here.
Other JDK 6 Other
5.0u23,hs12Fixed 6u14Fixed hs12Fixed
Related Reports
Relates :  
Relates :  
Relates :  
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.

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

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'.

EVALUATION The default to the number of parallel GC threads should be made if performance is not adversely affected.