Я пытаюсь установить максимальное количество байтов, которое процесс JVM будет пытаться выделить. Я говорю не о куче , а об общем объеме памяти на уровне ОС.
Я посмотрел усердно, но не нашел никаких решений, в которые мне трудно поверить. Даже с Java 10, который должен оставаться в пределах памяти контейнера.
Этот вопрос был задан около 9 лет назад (см .: Как установить максимальное использование памяти для JVM? ), но ответ неверен .
Объект Runtime
содержит метод maxMemory()
, который неправильно задокументирован следующим образом:
Возвращает максимальный объем памяти, который виртуальная машина Java пытается использовать.
Метод maxMemory()
возвращает максимальный объем кучи, а не общий объем памяти, который может потребовать процесс JVM.
Вопрос : Правда ли, что JVM не может управлять жестким ограничением на использование собственной памяти?