温馨提示×

Ubuntu中Swapper可以删除吗

小樊
47
2026-01-06 12:41:52
栏目: 智能运维

可否删除与影响

  • 可以删除,但前提是系统不再需要这部分Swap(交换空间)。Swap用于在物理内存不足时将不活跃内存页换出到磁盘,删除后内存紧张时可能出现OOM(内存不足)终止、程序卡顿或崩溃。若物理内存充足且你明确不需要,删除是可行的。另需注意,Ubuntu 17.04 及以后默认倾向使用交换文件而非专用交换分区;而使用 LVM的安装仍可能采用交换分区,删除前请确认你的系统实际使用的类型。

删除前的检查

  • 查看是否启用Swap及类型:
    • 查看详细信息:sudo swapon --show
    • 简要列表:swapon -s
    • 查看内存概况:free -h
  • 检查开机自动挂载配置:grep -i swap /etc/fstab(若存在“/swapfile”或“/dev/sdX none swap …”的行,表示开机启用)。

删除步骤

  • 针对交换文件(/swapfile)
    1. 停用:sudo swapoff /swapfile
    2. 取消开机挂载:sudo sed -i ‘/^/swapfile\b/ s/^/#/’ /etc/fstab
    3. 删除文件:sudo rm /swapfile
  • 针对交换分区(/dev/sdXN)
    1. 停用:sudo swapoff /dev/sdXN
    2. 取消开机挂载:sudo sed -i ‘/\bswap\b/ s/^/#/’ /etc/fstab
    3. 用分区工具删除分区(如 sudo gparted;或 fdisk /dev/sdX → d → w 写入变更)
    4. 如有需要,使用 gparted 调整相邻分区大小以利用释放空间,并“应用所有操作”
  • 验证:free -h 应显示 Swap 为 0;swapon --show 应无输出。

删除后的优化与替代

  • 调整内核使用 Swap 的倾向(Swappiness):
    • 查看:cat /proc/sys/vm/swappiness
    • 临时设为 10(更保守):sudo sysctl vm.swappiness=10
    • 永久生效:echo “vm.swappiness=10” | sudo tee -a /etc/sysctl.conf
  • 若只是想“缩小”而非完全删除,可保留较小的交换文件替代大分区,便于后续灵活调整。

0