内存tmpfs问题—tmpfs占用太多内存导致服务oom

一、现象

业务容器中的应用突然就挂了,然后并未找到什么问题,于是找我们协助排查

  • 这里插一句,我们对于容器的使用比较特殊,是富容器的用法,一个容器会起多个进程,虽然不是太云原生,但是也是要在公司兼容老的一些系统的一种折衷方案吧。我们容器中的一号进程是systemd

二、问题排查

遇到这个问题第一反应就是oom了,于是去看了下内核日志:

在这里插入图片描述

分析了一下oom的dump,计算rss(需要*4,因为是rss是按照4k一个page去分配的) 这一列相加 大概是6G,这个数据和监控也符合大概75%的实际使用率(容器分配的是8G)。

在这里插入图片描述

但是这个应用分配的内存是8g为啥,实际用了6g就触发oom kill呢?

首先我们监控系统的容器内存使用率算法:container_memory_usage_bytes - container_memory_cache, 这个算出来和rss是基本一致的,从这个角度看没什么问题

但是容器中计算内存oom的是container_memory_working_set_bytes这个指标 。通过查询文档
https://faun.pub/how-much-is-too-much-the-linux-oomkiller-and-used-memory-d32186f29c9d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值