在 Ubuntu(以及大多数 Linux 发行版)里,“缓存变慢”通常不是缓存本身失效,而是缓存命中率下降或底层 I/O / 内存压力导致缓存收益降低。下面按常见原因系统说明。
Linux 用 page cache 缓存文件,但它是“可回收内存”。
当:
内核会 drop cache / reclaim cache,导致:
检查:
free -h
cat /proc/meminfo | grep -E 'MemAvailable|Cached'
如果 MemAvailable 很小,或 si/so(swap)不为 0:
vmstat 1
✅ 解决:
sysctl vm.swappiness=10
缓存快 ≠ 磁盘快。
当缓存命中率下降时:
检查:
iostat -x 1
看:
%util 接近 100%await 很高✅ 解决:
某些情况会降低缓存效率:
sync 挂载fsync检查挂载:
mount | grep ' / '
✅ 不建议:
/,sync
Ubuntu 处理:
会导致:
检查:
slabtop
✅ 解决:
mount -t tmpfs tmpfs /var/cache/xxx
/var/cache/apt/archives
如果网络慢或源不好:
换源:
software-properties-gtk
snap 启动慢是已知问题(loop 设备 + 压缩)
✅ 建议:
常见误操作:
echo 3 > /proc/sys/vm/drop_caches
这会让所有缓存立刻失效,下一次访问必然慢。
都会导致“Ubuntu 缓存像没用”。
free -h
vmstat 1
iostat -x 1
slabtop
mount | grep ' / '
如果你愿意,可以告诉我:
我可以直接帮你定位是哪一类缓存问题。