温馨提示×

如何禁用Ubuntu缓存

小樊
41
2026-08-06 18:24:22
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 系统)中,“禁用缓存”通常指 禁用系统缓存(如页缓存、Swap、APT 缓存、DNS 缓存等)。不同场景做法不同,下面按常见需求分类说明。


一、禁用或清理 文件系统缓存(Page Cache)

⚠️ 不建议长期禁用,会影响性能,仅用于测试或调试。

1️⃣ 临时清理缓存(推荐)

sudo sync
sudo sysctl vm.drop_caches=3

说明:

  • 1:只清理 page cache
  • 2:清理 dentries + inodes
  • 3:全部清理

⚠️ 这是一次性操作,不会永久禁用。


2️⃣ 限制缓存大小(不推荐新手)

sudo sysctl vm.vfs_cache_pressure=10000

(数值越大,内核越倾向于回收缓存)

恢复:

sudo sysctl vm.vfs_cache_pressure=100

二、临时禁用 Swap(交换分区)

查看 Swap

swapon --show

临时关闭 Swap

sudo swapoff -a

重新开启

sudo swapon -a

永久禁用 Swap

编辑:

sudo nano /etc/fstab

注释掉 swap 行,例如:

# UUID=xxxx-none swap swap defaults 0 0

三、禁用 APT 软件包缓存

清理 APT 缓存

sudo apt clean
sudo apt autoclean

禁止 APT 缓存(高级)

编辑:

sudo nano /etc/apt/apt.conf.d/99no-cache

添加:

Dir::Cache::archives "";
Dir::Cache::srcpkgcache "";
Dir::Cache::pkgcache "";

四、禁用 DNS 缓存

Ubuntu 20.04+ 默认使用 systemd-resolved

查看状态

systemctl status systemd-resolved

禁用 DNS 缓存

编辑:

sudo nano /etc/systemd/resolved.conf

修改:

Cache=no

重启:

sudo systemctl restart systemd-resolved

五、禁用 浏览器缓存(HTTP 缓存)

Chrome / Edge

  • 开发者工具 → Network → ✅ Disable cache

Firefox

  • about:config
browser.cache.disk.enable = false
browser.cache.memory.enable = false

六、禁用 Docker 缓存(构建时)

docker build --no-cache .

七、禁用 内存缓存(不推荐)

Linux 没有安全方式完全禁用页缓存,强行做会导致系统极慢甚至不稳定。

如果你是为了:

  • ✅ 测试磁盘性能 → 用 direct I/O
  • ✅ 测试真实 IO → 用 fiodd oflag=direct

示例:

dd if=/dev/zero of=test bs=1G count=1 oflag=direct

八、我该禁用哪种缓存?

目的 建议
测试磁盘性能 使用 direct I/O
节省内存 限制缓存 / 关闭 Swap
清理空间 apt clean
开发调试 浏览器 / 应用层禁用
系统级禁用 ❌ 不建议

如果你能说明 具体场景(例如:磁盘测试、内存占用、Docker、数据库、嵌入式系统),我可以给你最合适、最安全的方案

0