在Ubuntu中通过docker-compose进程进行OOM失败而没有VM RAM过多

问题描述

我有一个docker-compose堆栈在Ubuntu上运行。

在某些时候,我的dmesg显示以下内容(这些事件与应用程序错误相关,并且很有意义)

[18078210.879723] Out of memory: Kill process 21749 (gunicorn) score 82 or sacrifice child
[18078210.885727] Killed process 21749 (gunicorn) total-vm:1176028kB,anon-rss:653552kB,file-rss:0kB,shmem-rss:0kB
[18078211.033507] oom_reaper: reaped process 21749 (gunicorn),now anon-rss:0kB,shmem-rss:0kB
[18078260.997304] nginx invoked oom-killer: gfp_mask=0x14200ca(GFP_HIGHUSER_MOVABLE),nodemask=(null),order=0,oom_score_adj=0

虚拟机具有〜7.6G

我的问题是,考虑到anon-rss(使用的驻留内存)比VM限制低约0.6,这怎么可能导致OOM。

我认为正在运行的进程总数将超过VM的物理内存?

如果是这样,有没有办法调试它并尝试查找事件发生时使用的总物理内存?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)