• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    容器内存占用之系统cache介绍

    缘起:

    监控(docker stats)显示容器内存被用完了,进入容器瞅了瞅,没有发现使用内存多的进程,使用awk等工具把容器所有进程使用的内存加起来看看,距离用完还远了去了,何故?

    分析:

    该不会docker stats计算错误?

    进入/sys/fs/cgroup/memory/docker/xxxxx/ 查看memory.usage ,确认计算没有错误

    我们知道,系统内存会有一部分被buffer、cache之类占用,linux也会把这部分内存算到已使用,对于容器来讲,也应该存在此“问题”,而且非常有可能linux会把某容器引发的cache占用算到容器占用的内存上;验证很简单,进容器dd一个大文件就知道了:

    dd 大文件后,docker stat显示已用内存变多

    宿主机上: echo 3 > /proc/sys/vm/drop_caches 后,docker stat显示已用内存变少

    至此,原因查明

    问题:

    对于宿主机来讲,计算内存占用时,可以拿已用内存减去cache/buffer ,那么对于容器来讲,如果减去容器部分的cache/buffer 呢?如果不减去,也会造成误报警

    测试发现: dd 产生的文件cache占用的内存会计算到 inactive_file 的头上

    上一篇:在Kali Linux上编译Windows漏洞的方法
    下一篇:如何安装MeeGo和Windows 7双系统?
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    容器内存占用之系统cache介绍 容器,内存,占,用之,系统,