我的内存都去哪里了?
我的内存都去哪里了?在疫情期间,小编不得不待在家中远程办公。但变的是办公方式,不变的是美创运维的7*24小时不间断支持。这不,一位客户发来了一条消息:客户:张工,好像我这个数据库服
在疫情期间,小编不得不待在家中远程办公。但变的是办公方式,不变的是美创运维的7*24小时不间断支持。
这不,一位客户发来了一条消息:
客户:张工,好像我这个数据库服务器的内存使用率有点高啊,你帮我看看?
随即发了个linux环境下的free -g的截图过来:
小编一看,按照这个截图的显示,的确在总共62Gb的内存里,可使用内存只剩1Gb了。但是,我们也可以观察到,cached显示的是55Gb,我们再获取了一下top命令的截图:
那为什么cached的内存使用这么大呢?这样的内存使用情况是正常的吗?
要回答这些问题,我们需要了解一下buffer与cache的含义。buffer 和 cache 是两个在计算机技术中被用滥的名词,放在不同语境下会有不同的意义。我们这里都将其放在linux内存这个语境中解释。
什么是buffer
在 Linux 的内存管理中,这里的buffer 指 Linux 内存的:Buffer cache,中文可以解释为:缓冲区缓存。Buffer cache 主要是设计用来在系统对块设备进行读写的时候,对块进行数据缓存的系统来使用。
什么是cache
在Linux的内存管理中,这里的 cache 指 Linux 内存中的:Page cache,中文可以解释为:页面缓存。主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有 read/write 操作的时候。在当前的系统实现里, page cache 也被作为其它文件类型的缓存设备来用,所以事实上 page cache 也负责了大部分的块设备文件的缓存工作。
自动回收 cache机制
Linux 内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,在内存压力较大的情况下, buffer/cache 空间可以被释放,以作为 free 空间分给相关进程使用。
但是由于要回收缓存必须保证 cache 中的数据跟对应文件中的数据一致,才能对 cache 进行释放。所以在回收缓存时一般会造成IO使用较高的现象。因为内核要对比 cache 中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。
所以一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容本来就是为了增加文件以及的读写速度。
人工触发回收cache
除了系统自己触发回收缓存机制外,我们也可以通过下面这个脚本来清理缓存:
1. 查看目前内存使用:
2. 执行sync同步数据,防止数据或操作丢失(重要),将未写的系统缓冲区写到磁盘中。包含已修改的 i-node、已延迟的块 I/O 和读写映射文件
首页 下一页 上一页 尾页上一篇:为什么说智能建筑也需要智能清洁?
-
影驰HOF EXTREME DDR4-4266内存评测:B-die中的B-die!2020-08-23
-
智慧城市:Rubicon发布智能废物和回收解决方案2020-08-23
-
内存超频能力依旧拔群!微星MEG Z490 ACE主板评测2020-05-24
-
影驰星曜内存对比GAMER blue,哪一款最适合你?2020-05-15
-
原厂的更香 雷神记忆魔人DDR4-3000内存测试2020-05-14
-
MemVerge获得1900万美元战略投资,推动“大内存计算”时代加速到来2020-05-13
-
2020 款13英寸MacBook Pro 要上32GB内存了!2020-05-03
-
影驰史上最高颜值内存!星曜DDR4 3600 16GB评测2020-04-21
-
回收宝公布荣耀VS红米手机保值数据,雷军投资回收宝再添“实锤”2020-04-15
-
影驰“星曜”内存开箱:如一块洁净无暇的水晶石2020-04-12
-
要买AMD锐龙本一定注意内存频率:DDR4-3200MHz提升巨大2020-04-10
-
AMD 7nm锐龙轻薄本抢发LPDDR4X内存:性能轻松提升19%2020-04-06
-
手机厂商开始在回收宝保值指数这个指标上拼刺刀了,安兔兔跑分算什么!2020-03-25
-
美国阿贡国家实验室利用3D打印PEEK 提高钼99的回收效率2020-03-24
-
紫光存储解散?国产闪存、内存市场人事地震:长江存储、紫光存储发声2020-03-20