温馨提示×

ubuntu如何升级swap版本

小樊
39
2025-11-22 18:27:32
栏目: 智能运维

Ubuntu 升级 Swap 的正确做法

概念澄清

  • Linux 的 Swap 并不存在“版本”升级一说,常见的是:
    • 调整 Swap 的大小(扩容或缩容)。
    • 调整 Swap 的使用策略(如 swappiness)。
    • 将旧的 Swap 分区迁移为更灵活的 Swap 文件,或反之。
  • 若你看到“Setting up swapspace version 1”这类提示,这只是 mkswap 创建交换区时显示的标识信息,并非软件“版本”升级。

推荐方案 使用 Swap 文件并扩容

  • 检查当前 Swap 使用
    • 查看:free -h 或 swapon --show
  • 创建新的更大的 Swap 文件(示例为 8G
    • 建议先关闭现有 Swap:sudo swapoff -a
    • 创建文件:sudo fallocate -l 8G /swapfile
    • 设置权限:sudo chmod 600 /swapfile
  • 格式化并启用
    • 格式化:sudo mkswap /swapfile
    • 启用:sudo swapon /swapfile
  • 验证
    • free -h 或 swapon --show 应能看到新的大小
  • 持久化
    • 将 /swapfile 写入 /etc/fstab:echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
  • 可选 调整使用倾向
    • 查看:cat /proc/sys/vm/swappiness(Ubuntu 默认常为 60
    • 临时调整:sudo sysctl vm.swappiness=10
    • 永久生效:echo ‘vm.swappiness=10’ | sudo tee -a /etc/sysctl.conf
  • 说明
    • 使用 Swap 文件更灵活,后续扩容只需重建/替换该文件并更新 fstab 即可。

从分区迁移到 Swap 文件

  • 查看现有交换:cat /proc/swaps(确认是分区还是文件,记下设备或路径)
  • 关闭现有交换:sudo swapoff -a
  • 按上节步骤创建并启用新的 Swap 文件,写入 /etc/fstab
  • 确认无误后,可删除旧的分区(数据无价,操作前请备份;删除分区请用 GParted 或 fdisk 谨慎处理)

常见问题与排错

  • 权限告警:swapon 报 “insecure permissions, 0600 suggested”
    • 修复:sudo chmod 600 /swapfile,再 swapon
  • 扩容后容量未变化
    • 确认已 swapoff 旧项、对新文件执行 mkswap、再 swapon;检查 /etc/fstab 是否指向正确路径
  • 想缩容
    • 思路是:swapoff → 用更小的新文件重建 → swapon → 更新 fstab → 验证;不建议直接“截断”正在使用的 Swap 文件
  • 使用 SSD 的寿命顾虑
    • Swap 会写入,但现代 SSD 寿命通常足够;若非常在意写入量,可减小 swappiness、尽量增加物理内存,或将 Swap 放在机械盘

0