通过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,还要考虑到当项目在使用时,并不是所有的可回收的内存块都能被回收这一情况。
Written on March 24, 2024