阅读量:2
CentOS 缓存清理与回收指南
一 内存页缓存与缓冲区回收
- 适用场景:需要快速回收Page Cache、dentries、inodes,用于基准测试、内存紧张排查或临时释放内存。
- 基本命令(需 root 或 sudo):
- 同步脏页到磁盘并回收全部可回收缓存:
sync echo 3 | sudo tee /proc/sys/vm/drop_caches - 仅回收页缓存:
sync echo 1 | sudo tee /proc/sys/vm/drop_caches - 仅回收目录项和索引节点缓存:
sync echo 2 | sudo tee /proc/sys/vm/drop_caches
- 同步脏页到磁盘并回收全部可回收缓存:
- 说明与建议:
- 该操作是非破坏性的,仅释放“完全未使用”的对象;已修改但未写入磁盘的脏页不会被释放,先执行 sync 可释放更多。
- 在生产环境不建议频繁手动清理,Linux 会按需自动回收缓存;若需长期优化,可调整内核参数(见下文)。
二 DNS 缓存清理
- 使用 systemd-resolved(若已启用):
sudo systemd-resolve --flush-caches sudo systemd-resolve --statistics # 查看缓存统计 - 使用 nscd(Name Service Cache Daemon):
sudo systemctl stop nscd sudo nscd -i hosts sudo systemctl start nscd - 若未运行上述服务,可能不存在本地 DNS 缓存;也可通过重启网络相关服务刷新解析结果(如 NetworkManager 或 dnsmasq,视具体配置而定)。
三 包管理器与临时文件缓存清理
- YUM/DNF 缓存(下载的 rpm 包):
sudo yum clean all # CentOS 7 sudo dnf clean all # CentOS 8+ - 临时文件目录:
sudo rm -rf /tmp/* sudo rm -rf /var/tmp/* # 或使用 systemd-tmpfiles 清理(推荐) sudo systemd-tmpfiles --clean # 旧文件可按时间清理(示例:/tmp 下 7 天未访问) sudo tmpwatch 7d /tmp sudo tmpwatch 7d /var/tmp - 说明:清理临时文件前确认无业务正在使用,避免误删会话或锁文件。
四 日志与磁盘空间回收
- systemd 日志(journald):
sudo journalctl --vacuum-time=2weeks sudo journalctl --vacuum-size=100M - 传统日志轮转与清理(/var/log):
- 使用 logrotate 配置定期轮转与压缩(建议保持默认配置并定期执行)。
- 手动清理示例(谨慎操作):
# 截断超大日志 find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {} \; # 删除较旧日志 find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
- 大文件定位与清理(先定位再删除):
sudo du -sh * | sort -hr | head -n 10 sudo find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null - 第三方可视化工具(便于排查):
sudo yum install -y ncdu ncdu / - 风险提示:删除日志或大文件前请确认业务影响,并做好备份。
五 长期优化与监控建议
- 监控内存与缓存:
free -h cat /proc/meminfo | grep -i "Cached\|MemAvailable" vmstat -s - 内核参数优化(/etc/sysctl.conf 或 /etc/sysctl.d/*.conf,修改后执行 sysctl -p):
- 降低 swap 倾向(仅在内存充足且业务允许时):
vm.swappiness = 10 - 调整 VFS 缓存回收倾向(默认通常为 100,数值越大越倾向回收 VFS 缓存):
vm.vfs_cache_pressure = 50 - 控制脏页刷写阈值(示例值,需结合负载测试):
vm.dirty_ratio = 30 vm.dirty_background_ratio = 5
- 降低 swap 倾向(仅在内存充足且业务允许时):
- 操作建议:变更内核参数前在测试环境验证,避免对数据库、消息队列等对延迟敏感的服务造成抖动。
以上就是关于“centos如何回收利用缓存文件”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm