首页/系统/Linux 内核与性能调优速查/Buffers 与 Cached 的区别
本包目录(357 条)
sysctl 内核参数72 条CPU 与调度60 条
内存与 OOM58 条
磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

Buffers 与 Cached 的区别

Buffers 是块设备元数据缓存,Cached 是文件内容与 tmpfs 的缓存;free 的 buff/cache 为两者合计,大部分可回收、tmpfs 部分不可。

查看free -h / grep -E 'Buffers|Cached|Shmem' /proc/meminfo
可回收性Cached 中文件页可回收,Shmem 不可(除非删文件)

对照

对照
free -h
grep -E '^(Buffers|Cached|Shmem|MemAvailable)' /proc/meminfo

易错点

  • 把 Cached 全部视为可回收会低估 OOM 风险(Shmem 部分不可回收)
  • 判断可用内存优先看 MemAvailable,而不是 free 列

数据来源与参考

  • procps-ng 文档 free(1)
  • Linux 内核 Documentation/filesystems/proc.rst
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌