Под перезапускается с OOMKilled, а в логах приложения нет OutOfMemoryError
В манифесте Kubernetes у контейнера лимит памяти 1 ГиБ. Сервис запускается с java -Xmx2g -jar app.jar. Под периодически перезапускается со статусом OOMKilled, код выхода 137, в логах приложения — никаких ошибок.
Почему так и что поправить?
- Куча больше лимита: контейнер убивает ядро до OutOfMemoryError; heap уменьшить
- Kubernetes не учитывает память JVM, лимит нужно снять
- Код 137 означает ошибку в коде приложения, память ни при чём
- JVM не умеет работать в контейнерах, нужен другой базовый образ
