温馨提示×

Linux怎么清理缓存文件

小樊
31
2026-07-07 00:45:52
栏目: 智能运维

在 Linux 中,“清理缓存”通常指 系统缓存(如 PageCache、dentries、inodes)用户缓存文件(如日志、软件缓存)。下面按常见场景给你说明,并给出安全操作建议。


一、清理 Linux 系统缓存(内存缓存)

⚠️ 一般不需要手动清理,Linux 会自动管理内存。
只有在 内存压力测试、性能排查、特殊需求 时才建议操作。

1️⃣ 查看当前内存和缓存

free -h

你会看到:

  • buff/cache:系统缓存(可释放)

2️⃣ 清理系统缓存(临时生效)

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   # 全部清理

不会丢失数据,但可能短暂影响性能


3️⃣ 自动恢复

无需重启,系统会重新缓存。


二、清理用户缓存文件(推荐)

1️⃣ 清理用户缓存目录

rm -rf ~/.cache/*

常见缓存位置:

  • ~/.cache
  • ~/.local/share/Trash

2️⃣ 清理日志文件(journalctl)

journalctl --vacuum-time=7d

保留最近 7 天日志

或按大小:

journalctl --vacuum-size=100M

三、清理包管理器缓存(按发行版)

✅ Ubuntu / Debian

sudo apt clean
sudo apt autoclean
sudo apt autoremove

✅ CentOS / Rocky / Alma / RHEL

sudo yum clean all
# 或
sudo dnf clean all

✅ Arch Linux

sudo pacman -Sc
sudo pacman -Scc   # 更彻底(慎用)

四、清理 Docker 缓存(如果使用 Docker)

docker system prune -a

或只清理未使用镜像:

docker image prune

五、清理大文件(排查用)

查找大于 500MB 的文件:

find / -xdev -type f -size +500M

六、是否真的需要清理缓存?

不需要清理的情况

  • 系统运行正常
  • 内存够用
  • 只是看到 buff/cache 很大

不建议频繁清理

  • 会降低磁盘 IO 性能
  • 系统会自动回收缓存

七、总结(安全建议)

类型 是否推荐 命令
系统缓存 ❌ 不推荐 echo 3 > /proc/sys/vm/drop_caches
用户缓存 ✅ 推荐 rm -rf ~/.cache/*
包缓存 ✅ 推荐 apt clean / yum clean
日志 ✅ 推荐 journalctl --vacuum

如果你愿意,可以告诉我:

  • 你用的是 哪个 Linux 发行版
  • 是想 释放内存 / 清理磁盘 / 解决卡顿

我可以给你更精确的命令 ✅

0