温馨提示×

centos overlay怎样清理缓存

小樊
36
2026-09-24 10:41:19
栏目: 智能运维

在 CentOS 里,overlay(尤其是 overlayfs,常用于 Docker、Podman、Kubernetes)本身是文件系统,不是传统意义上的“缓存”。你问的“清理缓存”通常分几种情况,我按常见场景给你说明:


一、清理 overlay 相关的【系统页缓存 / dentry/inode 缓存】

如果你只是想释放 Linux 的文件系统缓存(包括 overlay 挂载的内容):

# 查看当前缓存
free -h

# 清理页缓存
sync; echo 1 > /proc/sys/vm/drop_caches

# 清理 dentries + inodes
sync; echo 2 > /proc/sys/vm/drop_caches

# 全部清理(最彻底)
sync; echo 3 > /proc/sys/vm/drop_caches

✅ 这是安全的,不会影响正在运行的服务(只是释放内存)


二、清理 Docker 使用的 overlay2 缓存(最常见)

CentOS + Docker 时,overlay 通常指 /var/lib/docker/overlay2

1️⃣ 查看占用

du -sh /var/lib/docker/overlay2

2️⃣ 安全清理(推荐)

docker system prune

只删无用数据:

docker system prune -a

(会删除未使用的镜像、容器、网络、构建缓存)

3️⃣ 清理构建缓存

docker builder prune

三、清理 Podman 的 overlay 缓存

podman system prune
podman system prune -a

四、清理 overlay 挂载点本身(⚠️危险)

如果你是手动挂载的 overlay

mount | grep overlay
umount /your/overlay/mount

然后再清理:

rm -rf /upper /work

⚠️ 不要直接 rm overlay 挂载点里的文件,可能导致数据不一致


五、Kubernetes / containerd 场景

crictl rm -fa
crictl images -prune

或:

nerdctl system prune

六、如何判断你用的是哪种 overlay?

mount | grep overlay
df -T | grep overlay

✅ 总结(最常用)

场景 命令
释放内存缓存 echo 3 > /proc/sys/vm/drop_caches
Docker docker system prune -a
Podman podman system prune -a
Kubernetes crictl images -prune

如果你能告诉我:

  • Docker / Podman / K8s
  • overlay 路径在哪(/var/lib/docker/overlay2 还是自定义)

我可以给你更精确的清理命令

0