max heap size for compressed oops

Andrew Haley aph at
Fri Dec 11 16:43:34 UTC 2015

On 12/11/2015 03:41 PM, Matthias Wahl wrote:
> But as the important border for zero based compressed oops is around 28 GB
> it cannot be a reason for suggesting 30.5 GB as heap size for
> performance reasons. As you've shown above even for 30 GB you already
> have compressed oops with a base > 0.

This works for me:

 $ java -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode -Xmx30g -XX:+UseCompressedOops -version
heap address: 0x0000000080000000, size: 30720 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
Narrow klass base: 0x0000000800000000, Narrow klass shift: 0
Compressed class space size: 1073741824 Address: 0x0000000800000000 Req Addr: 0x0000000800000000
openjdk version "1.9.0-internal"

You just have to probe your own system to figure out exactly where
the cutoff is.  There's nothing special about 30.5 GB.


More information about the discuss mailing list