container_memory_filcnt不计算pod被oom杀死的次数?



情况:
prometheus pod中有两个容器(config-reloader, prometheus)
我将resources.limits.memory分别设置为50Mi, 32Gi

度量container_memory_failcnt在5分钟内从10急剧增加到8000(精确地速率(container_memory_failcnt{}[5m]))

mertic container_memory_failcnt告诉容器达到内存限制的次数。

但是根据度量container_memory_working_set_bytes, prometheus容器使用了18Gi的内存。
吊舱也不会被OOM杀死。但是度量container_memory_failcnt急剧增加。

OOM与达到内存限制不同?

我想知道为什么普罗米修斯容器在5分钟内使用了如此多的内存(18Gi)。(通常使用10Gi或更低)

在google上搜索了2天后,我知道了答案。
container_memory_failcnt检查目标容器是否达到内存限制。
此指标与container_memory_usage_bytes一起使用。

度量container_memory_working_set_bytes是容器当前使用的实际内存大小。
房间杀手正在关注这个指标。

所以在我的例子中,container_memory_failcnt一直在增加,但container_memory_working_set_bytes低于限制。容器的内存,使pod不被oom杀死。

特别感谢Bob cotton

https://faun.pub/how-much-is-too-much-the-linux-oomkiller-and-used-memory-d32186f29c9d

相关内容

  • 没有找到相关文章

最新更新