温馨提示×

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 建议使用追加方式并在修改前备份。

0