容器内存占用之系统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 的头上
相关文章
- 有用户会发现自己的电脑上总有一个Cache文件,也不知道是做什么用的,有什么作用,是否可以删除,下面小编带你一起来看看2016-07-07
禁用DNS缓存插件(DNS Cache) v1.8.1 绿色版
DNS Cache是一款用于火狐浏览器的辅助插件,主要功能可帮助用户来来轻松的进行浏览器的DNS缓存禁用和开启,欢迎需要的朋友下载使用2014-12-23- 这篇文章主要为大家介绍了Drupal7的cache缓存开发的方法,可以有效的缓解网站的访问压力,是进行drupal建站中非常实用的技巧,需要的朋友可以参考下2014-11-07
html5 application cache遇到的严重问题
在我们的3G版网站的项目中使用了html5 application cache,将大部分图片资源、js、css等静态资源放在manifest文件中,需要了解的朋友可以参考下2012-12-26- 一台电脑,配置为毒龙600 MHz CPU,杂牌KTl33主板,256 MB内存,希捷40 GB硬盘,TNVantan显卡,一直运行正常。某天开机时,系统报告有系统文件错误,随即死机。2012-02-14
最新评论