linux服务器配置永久生效swap的关键是先创建启用swap(文件或分区),再写入/etc/fstab实现开机自动挂载;swap文件推荐用fallocate创建并设600权限,fstab中添加/swapfile none swap sw 0 0,分区则优先使用uuid标识。

Linux 服务器配置永久生效的 Swap,关键在两步:先创建并启用 Swap(文件或分区),再写入 /etc/fstab 确保重启后自动挂载。不写 fstab,重启就失效。
选择创建方式:Swap 文件 or Swap 分区
Swap 文件更常用,适合云服务器、磁盘空间紧张或无法调整分区的环境;Swap 分区性能略优,适合物理机或有空闲磁盘空间的场景。
-
Swap 文件(推荐多数服务器):用
fallocate快速创建(比dd更高效):sudo fallocate -l 2G /swapfile
设置权限:sudo chmod 600 /swapfile
格式化:sudo mkswap /swapfile
立即启用:sudo swapon /swapfile -
Swap 分区(如已有空闲分区 /dev/sdb1):
格式化:sudo mkswap /dev/sdb1
启用:sudo swapon /dev/sdb1
写入 /etc/fstab 实现永久生效
这是“永久”的核心步骤。编辑 /etc/fstab,添加对应条目:
- Swap 文件写法:
/swapfile none swap sw 0 0 - Swap 分区推荐用 UUID(更稳定):
先查 UUID:sudo blkid /dev/sdb1
再写入 fstab:UUID=xxxx-xxxx none swap sw 0 0
添加后执行 sudo swapon --verify 检查语法,无报错即有效。也可重启前用 sudo swapon --show 确认已列在输出中。
配套建议:调 swappiness 和验证状态
永久生效不只是挂上 Swap,还要让它合理工作:
- 设置
vm.swappiness=10(生产环境推荐值):
临时生效:sudo sysctl vm.swappiness=10
永久生效:追加到/etc/sysctl.conf:echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf,再运行sudo sysctl -p - 验证是否真正永久:重启服务器后,执行
free -h和swapon --show,确认 Swap 行存在且大小正确
注意安全与清理
若后续要删除 Swap,必须按顺序操作,否则可能出错:
- 先禁用:
sudo swapoff /swapfile(或对应分区) - 再从
/etc/fstab中删掉那行(可用sudo sed -i '/swapfile/d' /etc/fstab) - 最后删除文件:
sudo rm /swapfile
不复杂但容易忽略细节,每一步都影响稳定性。











