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 放在机械盘