The parallel collector uses NewSize as the minimum size of the
young generation and does not check the size implied by
-Xms and NewRatio. The fix is to check the value implied by
-Xms and NewRatio and use the larger between it and NewSize
if NewSize has not been explicitly set on the command line.
With the other collectors the minimum sizes
and the initial sizes of the generations are the same
and the initial size for the young generation is correctly
set according to -Xms and NewRatio where it needs to be.