【问题标题】:OOM-killer dockerOOM-杀手码头工人
【发布时间】:2019-08-13 18:09:45
【问题描述】:

我有一个基于 docker 镜像 tomcat-9.0.13-jre11 的 docker 容器内正在运行的 Web 应用程序。容器收到来自 linux 系统的 kill 消息。

我找到的唯一信息来自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

您有什么建议或方法来收集更多信息吗?

【问题讨论】:

  • 您的内存设置太低,无法满足您的应用程序。要么您的内存设置为非常少,要么您有内存泄漏

标签: docker tomcat java-11


【解决方案1】:

显然,分配给容器的内存或默认内存太少,应用程序无法运行,因此应用程序发送了终止信号。

Error: Memory cgroup out of memory: 

【讨论】:

    【解决方案2】:

    您可以使用docker update 命令轻松更新默认内存大小。

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

    文档:https://docs.docker.com/engine/reference/commandline/update/
    可能的重复:

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2012-08-26
      • 2020-07-12
      相关资源
      最近更新 更多