温馨提示×

centos cleanup如何清除缓存

小樊
33
2026-09-03 01:00:24
栏目: 智能运维

在 CentOS 中,“清除缓存”通常指 系统内存缓存(pagecache / dentries / inodes),也可能指 yum/dnf 软件包缓存日志/临时文件。下面按常见场景说明。


一、清除 Linux 系统内存缓存(PageCache 等)

⚠️ 注意:清除内存缓存一般不会损坏数据,但会导致短期性能下降(需重新缓存)。生产环境谨慎操作

1. 查看内存使用

free -h

2. 清除缓存(需 root)

# 清除 pagecache
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

说明:

  • sync:先把内存数据写入磁盘,安全
  • echo 3:清除 pagecache + dentries + inodes

3. 临时生效(推荐方式)

sysctl vm.drop_caches=3

二、清除 yum / dnf 软件包缓存

CentOS 7(yum)

yum clean all

CentOS 8 / Stream(dnf)

dnf clean all

可选:

# 仅清理过期缓存
yum clean expire-cache

三、清理日志和临时文件

1. 清理 systemd 日志

journalctl --vacuum-size=100M
# 或
journalctl --vacuum-time=7d

2. 清理 /tmp 临时文件

rm -rf /tmp/*

(建议重启或确认无进程使用)

3. 查找大文件

du -sh /* | sort -h

四、自动清理(可选)

安装清理工具

yum install -y yum-utils

设置定时清理(示例)

0 3 * * * root echo 3 > /proc/sys/vm/drop_caches

五、如果你指的是“磁盘空间清理”

常见清理点:

  • /var/log
  • /var/cache/yum
  • /tmp
  • 旧内核(CentOS 7):
package-cleanup --oldkernels --count=2

如果你能说明是:

  • 内存缓存
  • 磁盘空间不足
  • yum/dnf 缓存
  • Docker / K8s 缓存

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

0