Ubuntu Swap设置多少合适
小樊
46
2025-11-16 18:27:06
Ubuntu Swap 设置建议
快速推荐
- 不需要休眠:
- 内存 ≤ 2GB:Swap ≈ 2 × 内存
- 内存 2–8GB:Swap ≈ 内存大小
- 内存 ≥ 16GB:Swap 4–8GB 即可(大内存以应急为主)
- 需要休眠(Hibernate):Swap ≥ 内存容量 + 约 2GB,以确保能完整写入内存映像
- 服务器场景:通常 2–8GB 作为兜底即可;若内存很大(如 ≥32GB)且负载稳定,可更小;虚拟机可 1–2GB 应急
- 桌面常见搭配示例:
- 4GB 内存:Swap 4GB(休眠则 ≥6GB)
- 8GB 内存:Swap 4GB(休眠则 ≥10GB)
- 16GB 内存:Swap 4GB(休眠则 ≥18GB)
- 说明:现代 Ubuntu 默认使用 Swap 文件(灵活易调整),也可使用 Swap 分区(略快但调整不便)。
按场景细化
- 桌面用户:内存 8GB 左右配 2–4GB Swap 通常足够;若常开浏览器、IDE、虚拟机等,可适当上调到 4–8GB 提升稳定性。
- 服务器:数据库/Web 等常驻服务,内存大时 Swap 仅作“保险”,避免频繁换页拖慢性能;建议 2–8GB 并配合监控告警。
- 虚拟机/云主机:资源弹性高,Swap 1–2GB 即可应对突发;若宿主机已做内存超卖,可适当放大但不宜过大。
- 高性能计算/内存密集型:Swap 意义不大,保持小容量应急即可,优先加内存或优化应用内存占用。
需要休眠时的计算
- 休眠会把整个内存内容写入 Swap,因此 Swap 必须至少等于内存大小;为安全与余量,建议预留 约 2GB 额外空间,即:Swap ≥ RAM + 2GB。例如 16GB 内存建议 ≥18GB。
配置与优化要点
- 查看与创建(示例创建 4GB Swap 文件):
- 查看:free -h、swapon --show
- 创建与启用:
- sudo fallocate -l 4G /swapfile
- sudo chmod 600 /swapfile
- sudo mkswap /swapfile
- sudo swapon /swapfile
- 开机生效:在 /etc/fstab 添加 /swapfile none swap sw 0 0
- 使用倾向(swappiness,默认 60):
- 查看:cat /proc/sys/vm/swappiness
- 临时调整:sudo sysctl vm.swappiness=10
- 永久:echo ‘vm.swappiness=10’ | sudo tee -a /etc/sysctl.conf
- 建议:桌面保留默认或略降;服务器可降至 10 减少磁盘 I/O
- 性能优化:优先将 Swap 放在 SSD/NVMe;内存较充裕时可启用 Zswap(内核压缩,减少实际落盘 I/O)。