Ubuntu Swap如何扩容最便捷
小樊
38
2025-12-20 08:53:10
Ubuntu 扩容 Swap 的最简方法
一步到位方案 Swap 文件
- 检查现有交换空间:
- 查看是否已有 Swap:sudo swapon --show
- 查看容量概览:free -h
- 创建并启用新的交换文件(示例新增 16GB):
- 快速创建:sudo fallocate -l 16G /swapfile
- 如 fallocate 失败(部分文件系统不支持),改用:sudo dd if=/dev/zero of=/swapfile bs=1G count=16
- 设置安全权限:sudo chmod 600 /swapfile
- 格式化为 Swap:sudo mkswap /swapfile
- 立即启用:sudo swapon /swapfile
- 验证结果:
- 查看已激活 Swap:sudo swapon --show(应出现 /swapfile)
- 查看总容量:free -h
- 设置开机自动挂载(永久生效):
- 追加到 fstab:echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
- 说明:若系统已有 /swapfile,上述流程会新增一份 Swap,和原有项并行生效;如需替换,请先 sudo swapoff /swapfile 再删除旧文件后按上法重建。
已有 Swap 时的扩容思路
- 直接新增一个更大的 Swap 文件(如上),与原有 Swap 并行使用,简单安全。
- 替换式扩容(更整洁):
- 关闭全部 Swap:sudo swapoff -a
- 删除旧文件:sudo rm /swapfile
- 按“一步到位方案”创建并启用新的更大的 /swapfile
- 确保 /etc/fstab 仅保留新条目的自动挂载配置。
Swap 大小建议
- 通用经验值:
- 物理内存 ≤ 2GB:Swap ≈ 2×RAM
- 2–8GB:Swap ≈ 1.5×RAM
- > 8GB:Swap 固定 8GB 左右即可(避免过度占用磁盘)
- 桌面用户可略高,服务器/低延迟场景可更低,必要时再结合休眠(Hibernate)需求单独规划。
可选优化与注意事项
- 调整 Swappiness(系统使用 Swap 的积极程度,范围 0–100):
- 查看:cat /proc/sys/vm/swappiness
- 临时降低(重启失效):sudo sysctl vm.swappiness=10
- 永久生效:在 /etc/sysctl.conf 末尾添加 vm.swappiness=10 后执行 sudo sysctl -p
- 性能与位置:
- 有 SSD 时优先放在 SSD 上,能显著改善 Swap 响应;HDD 场景尽量放在碎片较少的分区。
- 风险提示:
- 调整分区或误改 /etc/fstab 可能导致启动异常,操作前建议备份重要数据与 fstab。
- 使用 fallocate 失败再回退 dd;编辑 /etc/fstab 建议使用追加方式并在修改前备份。