温馨提示×

ubuntu缓存有什么限制

小樊
41
2026-10-01 00:31:00
栏目: 智能运维

在 Ubuntu(以及一般的 Linux 系统)里,“缓存”通常指几类不同的东西,各自有不同的限制和行为。下面按常见类型说明:


1. 文件系统缓存(Page Cache)

这是最常见、也最容易误解的“Ubuntu 缓存”。

特点

  • 由内核自动管理
  • 用于缓存文件读写内容(内存中的 page cache)
  • 不占用“用户可用内存”的上限,而是“能占多少占多少”

限制 / 行为

  • 没有固定大小限制
  • 当应用需要内存时,内核会自动回收缓存
  • 可通过以下方式查看:
    free -h
    
    其中 buff/cache 就是缓存

相关限制

  • 受 物理内存总量 限制
  • 极端情况下:
    • 大量文件读写 + 内存小 → 缓存占用高
    • 但不会导致 OOM(除非应用本身吃光内存)

2. APT / 软件包缓存

Ubuntu 用 apt 下载的 .deb 包会缓存。

默认位置

/var/cache/apt/archives/

限制

  • 默认无自动大小上限
  • 但可以通过以下命令清理:
    sudo apt clean
    sudo apt autoclean
    

可配置限制(间接)

  • 通过定时清理策略
  • 或通过 apt.conf 控制缓存行为(较少用)

3. Snap 缓存

Snap 包会保留旧版本。

限制

  • 默认保留多个版本
  • 磁盘占用可能非常大

清理方式

sudo snap refresh
sudo snap remove --revision=xxx pkgname

或使用:

snap list --all

4. 用户级缓存(~/.cache)

应用程序(浏览器、IDE、桌面环境)会写这里。

限制

  • 无系统级统一限制
  • 完全由应用自己控制
  • 可能无限增长(例如 Chrome 缓存)

查看大小

du -sh ~/.cache

5. systemd 日志缓存(journal)

/var/log/journal/

默认限制

Ubuntu 默认:

  • 单个日志最大 4MB
  • 总大小通常 10% 磁盘或 4G 上限

查看 / 限制

journalctl --disk-usage

配置文件:

/etc/systemd/journald.conf

例如:

SystemMaxUse=500M

6. DNS 缓存

Ubuntu 默认(使用 systemd-resolved):

  • 有 TTL 限制(来自 DNS 服务器)
  • 本地缓存大小有限但一般够用

总结对比

缓存类型 是否有限制 是否自动回收
文件缓存 无硬限制 ✅ 自动
APT 缓存 无自动 ❌ 需手动
Snap 无自动 ❌ 需手动
~/.cache 无 ❌ 应用控制
journal ✅ 有 ✅ 自动

如果你指的是某一类具体缓存(比如 Docker、浏览器、APT、内存缓存),可以告诉我,我可以给你更精确的限制和清理方案。

0 踩