在 CentOS 中,“清除缓存”通常指 系统内存缓存(PageCache / dentry / inode),也可能指 YUM/DNF 软件包缓存 或 DNS 缓存。下面分别说明。
⚠️ 生产环境谨慎操作,可能会造成短暂 IO 升高。
free -h
看到 buff/cache 占用较多是正常的。
sync
echo 3 > /proc/sys/vm/drop_caches
参数说明:
1:释放 pagecache2:释放 dentries 和 inodes3:释放所有缓存✅ 推荐先 sync,防止数据未写入磁盘。
sysctl vm.drop_caches=3
yum clean all
dnf clean all
查看缓存占用:
du -sh /var/cache/yum
# 或
du -sh /var/cache/dnf
systemctl restart systemd-resolved
或
resolvectl flush-caches
systemctl restart nscd
CentOS 默认通常 没有 DNS 缓存,无需清除。
systemctl restart php-fpm
rm -rf /var/cache/nginx/*
systemctl restart nginx
redis-cli flushall
❌ 长期禁用缓存
❌ 写脚本定时 drop_caches
❌ 以为 buff/cache 是“内存泄漏”
如果你能说明 具体场景(如:服务器卡顿、YUM 报错、Web 缓存),我可以给你更精确的命令。