关于linux free -m的理解

讲解一下什么是buffers和cached

buffers:CPU要处理的数据是存放在buffers中的

cached:处理的数据一般都是将硬盘的数据放在内存中来处理,这里讲的内存就是cached,也就是说硬盘中(外存)要处理的数据是存放在cached中的

那么上面图片里面是什么含义呢?

内存总量total(图中15762)=used(图中11793) + free(图中3968)

然而真正被使用的内存并不是这样子的,这里的used值11793其实是包含缓存的空间(buffers和cached),而第一行中的buffers(图中202)和cached(图中4588)正是used里面包含的缓存空间总量,因此真正被使用的内存空间应该是减掉这部分的缓存量也就是

-buffers/cache(图中7951) = used(图中11793) - buffers(图中202)- cached(图中4588)

因此,上面的free(图中3968)也并不是真正空闲的内存量,而是已经除去缓存的空间(buffers和cached)的空闲内存量,因此要把缓存的空间加上,也就是

+buffers/cache(图中7951) = free(图中3968) - buffers(图中202)- cached(图中4588)

通过上面的推论,我们可以得知,其实-buffers/cache才是系统真正用掉的内存,+buffers/cache才是系统真正空闲的内存

 

posted @ 2021-04-12 19:58  BestTarry  阅读(244)  评论(0编辑  收藏  举报