A DESCRIPTION OF THE REQUEST :
When using the flag -XX:+UseLargePages, DirectByteBuffers don't use them. This works fine when using standard ByteBuffers.
JUSTIFICATION :
Since one uses DirectByteBuffer when performance is of the essence, it would be nice to have large pages enabled for those.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
With the flag -XX:+UseLargePages, DirectByteBuffer gets allocated in the Huge page pool.
ACTUAL -
With the flag -XX:+UseLargePages, DirectByteBuffer uses standard pages.
CUSTOMER SUBMITTED WORKAROUND :
It's possible to use large pages and Direct memory by using a MappedByteBuffer that maps a file on a hugetlbfs filesytem.
Performance is not as good as DirectByteBuffers though.
When using the flag -XX:+UseLargePages, DirectByteBuffers don't use them. This works fine when using standard ByteBuffers.
JUSTIFICATION :
Since one uses DirectByteBuffer when performance is of the essence, it would be nice to have large pages enabled for those.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
With the flag -XX:+UseLargePages, DirectByteBuffer gets allocated in the Huge page pool.
ACTUAL -
With the flag -XX:+UseLargePages, DirectByteBuffer uses standard pages.
CUSTOMER SUBMITTED WORKAROUND :
It's possible to use large pages and Direct memory by using a MappedByteBuffer that maps a file on a hugetlbfs filesytem.
Performance is not as good as DirectByteBuffers though.