Докер-убийца OOM

У меня есть работающее веб-приложение внутри контейнера докеров на основе образа докера tomcat-9.0.13-jre11. Контейнер получил сообщение об уничтожении от системы Linux.

Единственная информация, которую я нашел, взята из dmesg:

kernel: C2 CompilerThre invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0
kernel: C2 CompilerThre cpuset=XXXXXX mems_allowed=0
kernel: CPU: 0 PID: 127722 Comm: C2 CompilerThre Tainted: G               ------------ T 3.10.0-514.6.1.el7.x86_64
Memory cgroup out of memory: Kill process XYZ (Keep-Alive-Time) score xyzzy or sacrifice child
kernel: Killed process (java) total-vm:5318236kB, anon-rss:3018632kB, file-rss:22336kB, shmem-rss:0kB

Есть ли у вас какие-либо предложения или методы сбора дополнительной информации?

Заранее спасибо


person Kolo    schedule 22.03.2019    source источник
comment
У вас слишком мало памяти для вашего приложения. Либо ваша память настроена на смехотворно малый объем, либо у вас есть утечка памяти   -  person Boris the Spider    schedule 22.03.2019


Ответы (2)


По-видимому, памяти, выделенной для контейнера, или памяти по умолчанию слишком мало для запуска приложения, поэтому приложение отправило сигнал уничтожения.

Error: Memory cgroup out of memory: 
person error404    schedule 22.03.2019

Вы можете легко обновить размер памяти по умолчанию с помощью команды docker update.

docker update --memory 1G memory-eater-application-container-name

Документация: https://docs.docker.com/engine/reference/commandline/update/
Возможные дубликаты:

person Berkhan Berkdemir    schedule 22.03.2019