Java кучи памяти и огромных страниц - PullRequest
0 голосов
/ 07 января 2020

При выделении памяти вне кучи в Java (например, через прямые буферы или собственный код JNI) будет ли выделенная память поддерживаться большими страницами, если JVM использует -XX: + UseLargePages?

1 Ответ

4 голосов
/ 07 января 2020

Нет, HotSpot JVM использует простой вызов lib c malloc для выделения памяти для прямого ByteBuffer.

Однако, если вы замените стандартный системный распределитель на, для Например, jemallo c - вы сможете настроить mallo c на использование огромных страниц при их наличии.

Еще один вариант использования огромных страниц для Прямой ByteBuffers - создать файл в файловой системе hugetlbfs и затем отобразить его в Java как MappedByteBuffer.

...