centos7.5中top命令的内存理解

2g内存使用了一段时间 发现kib mem: buff/cache 里面大量缓存 1408068

但是这个时候应该还是有1.57g的内存可以用  原因是使用docker会用到很多缓存

以下参考:https://www.cnblogs.com/zhoug2020/p/6336453.html

1.4 内存使用:

接下来两行显示内存使用率,有点像'free'命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。

内存显示可以用'm'命令切换。

509248k total — 物理内存总量(509M)
495964k used — 使用中的内存总量(495M)
13284k free — 空闲内存总量(13M)
25364k buffers — 缓存的内存量 (25M)


swap交换分区
492536k total — 交换区总量(492M)
11856k used — 使用的交换区总量(11M)
480680k free — 空闲交换区总量(480M)
202224k cached — 缓冲的交换区总量(202M)


这里要说明的是不能用windows的内存概念理解这些数据,如果按windows的方式此台服务器“危矣”:8G的内存总量只剩下530M的可用内存。Linux的内存管理有其特殊性,复杂点需要一本书来说明,这里只是简单说点和我们传统概念(windows)的不同。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:

13284+25364+202224 = 240M。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

对mem buffer的理解

参考 https://blog.csdn.net/TopsLuo/article/details/79932966

如何回收cache? 
Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。所以一般情况下,我们认为buffer/cache空间可以被释放,这个理解是正确的。 

参考:https://www.cnblogs.com/huhuixin/p/7741810.html

Linux 服务器buff/cache清理

使用Top命令查看内存及缓冲区使用情况

当磁盘频繁产生IO时会导致buff/cache占用很高的内存,导致可用物理内存很少

但是当真正需要内存时,缓冲区内存会自动释放.

如果需要清理可以用

cache清理   sync;echo 3 > /proc/sys/vm/drop_caches

前面加sync 是为了防止内容丢失

free pagecache:echo 1 >/proc/sys/vm/drop_caches

To free dentries and inodes:echo 2 >/proc/sys/vm/drop_caches

二者都清理就是  sync;echo 3 > /proc/sys/vm/drop_caches

-----------------------------------------------

综上 

重启linux后如下图 恢复正常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值