容器内存占用之系统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 的头上

(0)

相关推荐

  • 安卓版Chrome浏览器新版发布:增加新功能且减少内存占用

    上周末,谷歌正式发布了面向桌面平台的Chrome 55正式版浏览器,并首次将HTML 5设定为默认网页规范. 今天,Android版Chrome 55浏览器也接踵而至,增加了新功能并且减少了内存占用. ...

  • Win10系统开机时内存占用越来越高怎么办?

    从7月29日win10系统正式版开启免费升级至今,已经有非常多电脑用户都升级了win10系统.而目前,一些升级了win10系统的电脑用户反映说:win10系统使用一段时间之后,开机内存的占用越来越高, ...

  • 详解win10系统内存占用高怎么办 如何清理win10临时文件

    最近有用户拿win7的内存占用量与win10的相比较,发现了一些问题,一起来看看吧. win10内存占用高怎么办: 现在很多网友都将系统从Win7升级到Win10,不过你发现升级完成后的C盘空间明显“ ...

  • win10系统内存占用100%或过高怎么办

    我们电脑有的时间越长,内存占用就越高,今天就跟大家介绍一下今天给大家介绍一下win10系统内存占用100%或过高的具体解决方法.1. 首先打开电脑,进入桌面,在任务栏空白处,右键,选择任务管理器.2. ...

  • Win10系统电脑的音频设备图形间隔项内存占用较高如何降低

    win10系统使用的人越来越多,我们在使用的时候,总会遇到这样那样的问题,今天就跟大家介绍一下Win10系统电脑的音频设备图形间隔项内存占用较高如何降低的具体操作步骤.1. 打开电脑,进入桌面,在左下 ...

  • 如何解决win10系统资源管理器内存占用高问题

    现在大部分电脑都是win10系统,有些用户遇到了资源管理器内存占用高问题,不知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指,按下[Ctrl+Shif ...

  • 如何解决win10系统开机内存占用高问题

    现在大部分电脑都是win10系统,有些用户遇到了开机内存占用高问题,想知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先右键单击左下角[开始]图标,接着在弹出的菜单栏 ...

  • XP系统下ekrn.exe进程内存占用100%怎么办

    不少用户安装完WinXP系统后,总是发现进程里有个程序ekrn.exe,经常都会占用率100%,ekrn.exe是东西呢?其实它是诺顿杀毒软件中的一个反病毒相关程序,很多WinXP正版光碟都是自带安装 ...

  • win10系统开机内存占用过高怎么办

      win10系统开机内存占用过高怎么办 首先新建一个文本文档文件,将以下内容复制进去,然后将后缀更改为reg(则注册表文件),然后双击导入注册表即可. Windows Registry Editor ...