通过free命令查看内存时,看到的buffer和cache各表示什么含义?

free命令显示了系统的可用和已用的物理内存及交换内存的总量,以及内核用到的缓存空间。这些信息是从 /proc/meminfo 中得到的

看下这篇文章中的的内容:

https://www.cnblogs.com/kevingrace/p/5991604.html

目录 [](#)

buffers

内核缓冲区使用的内存,等同于/proc/meminfo中的Buffers

常见的有把内存的数据往磁盘进行写操作

cache

页面缓存和Slab分配机制使用的内存,等同于/proc/meminfo中的Cached和Slab

buff/cache

buffers 与cache 之和

used

used memory
total - free - buffers - cache

available 可用内存

以下内容来源于man free的中文翻译:

等同于/proc/meminfo中的MemAvailable值。
在内核3.14以上,/proc/meminfo添加了新的指标MemAvailable,3.14之前等于free字段的值,即剩余物理内存大小。

在系统没有发生交换时,预估需要多少available内存才可以启动新的应用程序。这个available字段不同于cache和free字段所提供的数据,它除了要考虑到page cache,还要考虑到当项目在使用时,并不是所有的可回收的内存块都能被回收这一情况。

参考 : https://linux.cn/article-9232-1.html

Written on March 24, 2024