温馨提示×

ubuntu swap多大合适

小樊
40
2026-08-23 22:00:39
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 发行版)中,swap(交换空间)的大小并没有一个绝对固定的标准,但可以根据你的 内存大小和使用场景 来合理设置。下面给你一个实用参考。


一、通用建议(官方 & 社区常用)

内存大小 (RAM) 推荐 swap 大小
≤ 2GB 内存的 2 倍
2GB – 8GB 等于内存大小
8GB – 64GB 至少 4GB – 8GB
≥ 64GB 通常 8GB 甚至可以不设(视用途)

现代桌面/服务器(8GB+ 内存)通常 4–16GB swap 就足够了


二、按使用场景选择

1️⃣ 桌面用户(日常办公、上网、开发)

  • 8GB 内存:4–8GB swap
  • 16GB 内存:4–8GB swap
  • 32GB+ 内存:4GB 左右即可

✅ 用于:

  • 防止内存瞬间耗尽
  • 休眠(hibernate)需要 swap ≥ 内存大小

2️⃣ 服务器(Web / 数据库 / Docker)

  • 8GB~32GB 内存:4–8GB swap
  • 大内存服务器(64GB+)
    • 若内存充足:1–4GB 或关闭 swap
    • 若使用 Kubernetes / Java / Redis:建议保留少量 swap

⚠️ 注意:

  • 数据库(MySQL / PostgreSQL)不建议 swap 过大
  • swap 频繁使用会导致性能下降

3️⃣ 休眠(Hibernate)

如果你要使用 休眠功能

swap ≥ 内存大小

例如:

  • 16GB 内存 → swap ≥ 16GB

三、swap 类型选择

✅ swap 分区(传统)

  • 性能略好
  • 安装系统时创建
  • 不支持动态调整大小

✅ swap 文件(推荐)

  • 灵活、易调整
  • Ubuntu 官方支持
  • 后期可随时扩容

创建示例(8GB swap 文件):

sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

永久生效:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

四、swap 使用策略(很重要)

查看当前策略:

cat /proc/sys/vm/swappiness

默认值通常是 60,表示内存使用到 40% 就开始用 swap。

推荐值:

  • 桌面用户:10–30
  • 服务器:1–10

临时修改:

sudo sysctl vm.swappiness=10

永久修改:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

五、总结一句话

8GB 内存以下:swap ≈ 内存大小
8GB 内存以上:4–8GB 足够
要休眠:swap ≥ 内存大小


如果你愿意,可以告诉我:

  • 内存多大
  • 桌面 / 服务器 / 虚拟机
  • 是否使用 休眠

我可以帮你给出一个精确推荐值

0