在 Linux 中,“清理缓存”通常指 系统缓存(如 PageCache、dentries、inodes) 或 用户缓存文件(如日志、软件缓存)。下面按常见场景给你说明,并给出安全操作建议。
⚠️ 一般不需要手动清理,Linux 会自动管理内存。
只有在 内存压力测试、性能排查、特殊需求 时才建议操作。
free -h
你会看到:
buff/cache:系统缓存(可释放)sync
echo 1 > /proc/sys/vm/drop_caches
解释:
sync:把内存数据写入磁盘(安全)echo 1:清理 page cache可选参数:
echo 1 > /proc/sys/vm/drop_caches # 清理 page cache
echo 2 > /proc/sys/vm/drop_caches # 清理 dentries + inodes
echo 3 > /proc/sys/vm/drop_caches # 全部清理
✅ 不会丢失数据,但可能短暂影响性能
无需重启,系统会重新缓存。
rm -rf ~/.cache/*
常见缓存位置:
~/.cache~/.local/share/Trashjournalctl --vacuum-time=7d
保留最近 7 天日志
或按大小:
journalctl --vacuum-size=100M
sudo apt clean
sudo apt autoclean
sudo apt autoremove
sudo yum clean all
# 或
sudo dnf clean all
sudo pacman -Sc
sudo pacman -Scc # 更彻底(慎用)
docker system prune -a
或只清理未使用镜像:
docker image prune
查找大于 500MB 的文件:
find / -xdev -type f -size +500M
✅ 不需要清理的情况
❌ 不建议频繁清理
| 类型 | 是否推荐 | 命令 |
|---|---|---|
| 系统缓存 | ❌ 不推荐 | echo 3 > /proc/sys/vm/drop_caches |
| 用户缓存 | ✅ 推荐 | rm -rf ~/.cache/* |
| 包缓存 | ✅ 推荐 | apt clean / yum clean |
| 日志 | ✅ 推荐 | journalctl --vacuum |
如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅