【问题标题】:Process using more memory then container itslef进程使用比容器本身更多的内存
【发布时间】:2021-03-07 11:11:54
【问题描述】:

是不是容器内的进程比容器本身占用了更多内存?

我有一个带有单个容器的 pod,基于堆栈驱动程序图,它在峰值时使用 1.6G 内存。 同时,我在容器上看到了一个错误,在查看根本原因时,我在 VM 本身上看到了 oom-killer 消息,表明容器内的一个进程由于使用 2.2G 而被杀死。 (rss)

怎么可能?

Memory cgroup out of memory: Killed process 2076205 (chrome) total-vm:4718012kB, anon-rss:2190464kB, file-rss:102640kB, shmem-rss:0kB, UID:1001 pgtables:5196kB oom_score_adj:932

10 倍!

【问题讨论】:

    标签: kubernetes memory out-of-memory


    【解决方案1】:

    两片。首先,您在指标中看到的可能是工作集大小,它不包括缓冲区,而我认为 oom_killer 显示 rss 包含。但更重要的是,metrics 输出中的数据会被采样一次,通常每 30 秒一次。因此,如果内存使用量突然激增,或者即使它只是试图分配一个巨大的缓冲区,它也会被杀死。

    【讨论】:

    • 谢谢。这个容器有 2.5G 的限制并且这个进程在 2.2 上被杀死的事实是因为有其他进程可能一起消耗超过 2.5G,这就是它 OOM 被杀死的原因。有意义吗?
    猜你喜欢
    • 1970-01-01
    • 2017-01-28
    • 2010-12-20
    • 2021-09-20
    • 2013-01-14
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多