温馨提示×

Ubuntu Swapper在VMware中如何使用

小樊
43
2026-01-08 10:35:59
栏目: 智能运维

Ubuntu 在 VMware 中使用 Swap 的完整指南

一、概念与规划

  • **Swap(交换空间)**用于在物理内存不足时临时换出内存页,避免 OOM,但速度明显慢于 RAM。
  • 在虚拟机中,Swap 可用两种方式:分区Swap 文件
  • 容量建议(经验值):内存≤4GB时,Swap 取内存的1.5–2 倍;内存**>4GB时,Swap 与内存等大**即可。例如:8GB 内存 → 8GB Swap。此建议用于桌面与通用开发场景,可按工作负载微调。

二、查看与启用现有 Swap

  • 查看当前 Swap 状态与大小:
    • free -h
    • swapon --show
    • cat /proc/meminfo | grep -i swap
  • 启用/关闭某个 Swap:
    • sudo swapon /dev/sdXN 或 sudo swapon /swapfile
    • sudo swapoff /dev/sdXN 或 sudo swapoff /swapfile
  • 若使用 Swap 文件,建议设置权限:sudo chmod 600 /swapfile

三、方式一 使用 Swap 文件(推荐,简单安全)

  • 创建并启用 4GB 示例(按需替换大小):
    • sudo fallocate -l 4G /swapfile
    • sudo chmod 600 /swapfile
    • sudo mkswap /swapfile
    • sudo swapon /swapfile
  • 开机自动挂载:
    • echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
  • 验证:free -h 应显示新增的 Swap 容量。
  • 调整 Swappiness(控制内核使用 Swap 的倾向,默认60;桌面环境常设为10以更少使用 Swap):
    • 临时:sudo sysctl vm.swappiness=10
    • 永久:echo ‘vm.swappiness=10’ | sudo tee -a /etc/sysctl.conf
  • 适用场景:不想动分区表、LVM、加密分区或磁盘空间紧张的虚拟机环境。

四、方式二 使用 Swap 分区(适合已有分区或重装/扩容场景)

  • 场景 A:已有 Swap 分区但想扩容
    • GParted(LiveCD/USB 或已安装后运行 gparted)操作:
      1. 右键 Swap 分区选择 Swapoff
      2. 调整系统分区(如 /dev/sda1)大小,留出所需空间;
      3. 在空闲空间上新建 Linux swap 分区(必要时先建 extended 再建逻辑分区);
      4. 应用变更后,右键新 Swap 分区选择 Swapon
      5. 获取新分区 UUID:sudo blkid,更新 /etc/fstab 中的 Swap 条目为新的 UUID,确保开机启用。
  • 场景 B:在安装 Ubuntu 时创建 Swap 分区
    • 安装器选择“Something else”手动分区,建议至少创建:
      • /boot:约 200MB
      • Swap:按上文建议(如内存 8GB → 8GB)
      • /:剩余全部空间
  • 说明:若使用 LVM/加密分区,步骤会更复杂,需先在相应卷组内调整逻辑卷后再格式化并启用 Swap。上述 GParted 流程与安装器分区要点适用于 VMware 中的 Ubuntu 虚拟机。

五、性能与稳定性建议

  • 尽量为虚拟机分配充足的物理内存,减少对 Swap 的依赖;Swap 仅作兜底。
  • 适度降低 swappiness(如设为10)可提升交互与编译类桌面体验;内存非常充裕时可保持默认 60
  • 若主机内存紧张,避免在 VMware 全局设置中勾选“Fit all virtual machine memory into reserved host RAM”,以免主机整体卡顿;同时可启用“Disable memory page trimming”以减少主机与虚拟机间的内存页同步(仅在确有内存余量且稳定性可接受时启用)。

0