I know that when the Java heap size grows to 32 GB, we lose the benefits of compressed pointers and may have less efficient memory (compared to 32 GB) until the total heap reaches ~ 48 GB.
You can increase the alignment of an object to 16 (in Java), allowing you to use CompressedOops up to 64 GB.
Is direct memory used to determine whether or not compressed pointers are used?
- , , , .. .
, , -Xmx28G -XX: MaxDirectMemorySize = 12G
-XX:MaxDirectMemorySize=1024G, , .