2

I have a running web application inside a docker container based on docker image tomcat-9.0.13-jre11. The container received a kill message from the linux system.

The only information that I found is from 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

Do you have any suggestion or method to collect more infos?

Nakilon
  • 34,866
  • 14
  • 107
  • 142
Kolo
  • 43
  • 2
  • 6
  • 1
    Your memory is set too low for your application. Either your memory is set to a ridiculously small amount or you have a memory leak – Boris the Spider Mar 22 '19 at 18:28

2 Answers2

2

You can easily update the default memory size with docker update command.

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

Documentation: https://docs.docker.com/engine/reference/commandline/update/
Possible duplicates:

1

Apparently, the memory allocated to the container or the default memory is too less for the application to run hence the application sent a kill signal.

Error: Memory cgroup out of memory: 
error404
  • 2,684
  • 2
  • 13
  • 21