Вступить в клуб →
средняявопросJVM в контейнере, сборка и зависимости

Контейнеру выдали 4 ГиБ памяти, а сервис падает с OutOfMemoryError на 1 ГиБ кучи

Сервис обработки выгрузок запускается командой java -jar app.jar без параметров памяти, лимит контейнера 4 ГиБ. На больших выгрузках приложение падает с java.lang.OutOfMemoryError: Java heap space, а мониторинг показывает, что контейнер использовал около 1,2 ГиБ.

В чём причина?

  • Без настроек JVM берёт под кучу лишь четверть памяти контейнера
  • JVM в контейнере не видит лимит и считает, что памяти 256 МБ
  • Утечка памяти: куча растёт, пока не займёт весь лимит
  • Лимит контейнера учитывает только память вне кучи

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела