--- old/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp 2015-04-23 16:54:53.652428337 -0400 +++ new/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp 2015-04-23 16:54:52.972389633 -0400 @@ -193,8 +193,9 @@ (!FLAG_IS_DEFAULT(ParallelGCThreads) && !ForceDynamicNumberOfGCThreads)) { new_active_workers = total_workers; } else { + uintx min_workers = (total_workers == 1) ? 1 : 2; new_active_workers = calc_default_active_workers(total_workers, - 2, /* Minimum number of workers */ + min_workers, active_workers, application_workers); }