Java8 и выше. Как правильно настроить память для JVM?

Есть java приложение активно использующее память за пределами кучи (jvm heap). В основном это jni вызовы и buffered объекты, т.е которые используются в NIO/2. 4ГБ выделенные jvm практически не используются (не считая памяти под статические константы размером 1ГБ). Как правильно настроить jvm для объектов не хранящихся в куче?


Ответы (1 шт):

Автор решения: talex

Все зависит от того как именно объекты выделяются. В общем случае JVM ни как не контролирует выделение памяти внутри нативных методов.

Для памяти выделенной под NIO буфера можно попробовать настроить -XX:MaxMetaspaceSize= или -XX:MaxDirectMemorySize.

→ Ссылка