Как заставить JVM использовать большой размер кучи только при необходимостиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как заставить JVM использовать большой размер кучи только при необходимости

Сообщение Anonymous »

У меня есть приложение Java, работающее в контейнере (eclipse-temurin:21-jre-alpine) в кластере Kubernetes, и я пытаюсь оптимизировать использование им памяти.
Требуемый размер кучи очень острый. По умолчанию, если не принимаются очень большие запросы, память практически не требуется. Однако иногда необходима большая куча.
Я изо всех сил пытаюсь заставить JVM использовать как можно меньше оперативной памяти в нормальных условиях, но при этом допускать случайные всплески использования памяти без сбоев в работе контейнер.
Я установил лимит ресурсов Kubernetes в 1 ГБ для контейнера, который подхватила JVM. После настройки этого ограничения использование ОЗУ снизилось с 4 ГБ до 400 МБ без заметного снижения качества обслуживания.
Однако иногда приложению необходимо загрузить до, скажем, 3 ГБ памяти для определенные запросы, что приводит к сбою контейнера из-за жесткого ограничения в 1 ГБ.
Как настроить JVM и Kubernetes для установки жесткого ограничения (например, 5 ГБ), но при этом убедиться, что JVM использует минимальный объем оперативной памяти в нормальных условиях?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -necessary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»