温馨提示×

linux缓存怎么刷新

小樊
40
2026-10-15 07:27:49
栏目: 智能运维

在 Linux 里,“刷新缓存”要看你指的是哪一类缓存,不同场景做法不同。下面按常见情况说明:


一、清理系统页缓存 / 目录项缓存 / inode 缓存(最常见)

Linux 会自动使用空闲内存做 cache,通常不需要手动清理,但你可以强制释放。

查看内存使用

free -h

看到 buff/cache 很大是正常的。

手动释放缓存(需 root)

# 释放 pagecache
echo 1 > /proc/sys/vm/drop_caches

# 释放 dentries 和 inodes
echo 2 > /proc/sys/vm/drop_caches

# 释放所有缓存
echo 3 > /proc/sys/vm/drop_caches

⚠️ 注意:

  • 只是临时释放
  • 不会影响正在运行的数据
  • 生产环境慎用(可能导致短暂 IO 升高)

二、刷新文件系统缓存(sync)

如果你改了文件,想确保写入磁盘:

sync

或:

sync; echo 3 > /proc/sys/vm/drop_caches

三、清理 apt / yum / dnf 软件包缓存

Ubuntu / Debian

sudo apt clean
sudo apt autoclean

CentOS / RHEL

sudo yum clean all
# 或
sudo dnf clean all

四、清理 DNS 缓存

Linux 本身默认无 DNS 缓存,取决于你用的服务:

systemd-resolved

sudo systemd-resolve --flush-caches
# 新版本
sudo resolvectl flush-caches

nscd

sudo systemctl restart nscd

dnsmasq

sudo systemctl restart dnsmasq

五、清理应用层缓存(示例)

npm

npm cache clean --force

Docker

docker system prune

浏览器缓存

  • 在浏览器里 Ctrl + F5

六、一般建议

✅ 不要频繁手动清缓存
✅ Linux 会自动回收 cache 给程序用
✅ 只在:

  • 测试 IO 性能
  • 排查问题
  • 释放内存做基准测试

时才清


如果你能说清楚:

  • 是系统内存缓存
  • 还是磁盘 / 文件缓存
  • 还是某个软件(Docker / apt / DNS)

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

0 踩