Ubuntu Swap更新升级注意事项
无论是调整Swap分区大小、更换Swap位置(如从分区改为文件)还是删除旧Swap,都可能涉及磁盘操作,存在数据丢失风险。务必提前备份系统或关键数据(如/home目录、数据库文件等)。
更新Swap前必须彻底禁用旧Swap,防止数据损坏。使用sudo swapoff -a关闭所有Swap(包括分区和文件);若仅针对特定Swap(如/dev/sda2或/swapfile),可指定路径:sudo swapoff /dev/sda2或sudo swapoff /swapfile。
Swap大小需结合物理内存调整,避免过大或过小:
相较于传统Swap分区,Swap文件无需重新分区硬盘,后续可随时调整大小(如通过fallocate或dd命令扩展),更适合大多数用户。创建步骤:
sudo fallocate -l 4G /swapfile # 创建4GB Swap文件
sudo chmod 600 /swapfile # 设置仅root可访问
sudo mkswap /swapfile # 格式化为Swap格式
sudo swapon /swapfile # 启用Swap
永久生效需将/swapfile none swap sw 0 0添加到/etc/fstab文件中。
操作完成后,需确认Swap是否生效:
sudo swapon --show查看当前启用的Swap设备及大小;free -h查看内存与Swap使用情况(重点关注“Swap”行的“used”值,若为0需进一步排查)。若希望Swap在系统重启后自动启用,必须将Swap配置添加到/etc/fstab文件中(如Swap文件需添加/swapfile none swap sw 0 0,Swap分区需添加/dev/sda2 none swap sw 0 0)。修改后可通过sudo systemctl daemon-reload重新加载配置,或重启系统使变更生效。
多数情况下,调整Swap后无需重启系统即可生效(如使用swapon命令启用Swap或修改/etc/fstab后重新加载)。但若涉及复杂配置(如Swap分区大小调整后无法自动识别),可能需要重启系统或使用systemctl命令重新启动Swap服务。
Swappiness控制内核将进程移至Swap的倾向,默认值为60(范围0~100)。若系统内存充足,可降低该值(如设为10)以减少Swap使用,提升系统响应速度:
echo 'vm.swappiness = 10' | sudo tee -a /etc/sysctl.conf # 添加配置
sudo sysctl -p # 立即生效
```。