在 Linux 系统中,“缓存(cache)”通常指内核用来加速数据访问的一块内存区域,而不是指磁盘上的缓存文件。理解 Linux 缓存,关键要区分几种常见含义:
在 free、top 命令中看到的 buffers 和 cache,属于 页缓存(Page Cache)。
free -h
示例:
total used free shared buff/cache available
Mem: 7.7G 2.1G 3.2G 120M 2.4G 5.0G
buff/cache:被缓存占用的内存available:还能被应用使用的内存(包含可回收缓存)✅ 缓存内存是可以被回收的,不算“真正被用掉”
其实:
availableecho 3 > /proc/sys/vm/drop_caches
systemd-resolved、nscd 等提供sync 强制落盘Linux 缓存是内核用空闲内存缓存文件数据,用来加速系统,不占用“真实可用内存”,内存紧张时会自动释放。
如果你愿意,我也可以讲: