在云服务器上启用 Swap 分区(交换空间)可以在内存不足时提供虚拟内存支持,防止进程因 OOM(Out of Memory)被终止。以下是启用 Swap 分区的详细步骤:

方法 1:创建 Swap 文件(推荐)
适用于大多数场景,无需额外磁盘分区。
1. 检查当前 Swap 空间
free -h sudo swapon --show
如果输出中 Swap 行全部为 0,说明未启用。
2. 创建 Swap 文件
# 分配一个 4GB 的 Swap 文件(根据需求调整大小) sudo fallocate -l 4G /swapfile # 如果 fallocate 不可用,可以用 dd(速度较慢) # sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
3. 设置权限
sudo chmod 600 /swapfile
4. 格式化为 Swap 并启用
sudo mkswap /swapfile sudo swapon /swapfile
5. 永久生效
编辑 /etc/fstab,添加以下行:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6. 优化 Swap 配置(可选)
调整 swappiness(默认值通常为 60,范围 0-100):
# 临时调整 sudo sysctl vm.swappiness=10 # 永久生效 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
方法 2:使用磁盘分区作为 Swap
如果已有未使用的磁盘分区(如 /dev/sdb1),可以格式化为 Swap:
1. 格式化分区为 Swap
sudo mkswap /dev/sdb1
2. 启用并永久配置
sudo swapon /dev/sdb1 echo '/dev/sdb1 none swap sw 0 0' | sudo tee -a /etc/fstab
验证 Swap 是否生效
free -h sudo swapon --show
注意事项
-
性能影响:Swap 基于磁盘,速度远低于物理内存,仅作为应急用途。
-
云服务器限制:部分云厂商(如 AWS 某些实例类型)可能默认禁用 Swap,需手动启用。
-
大小建议:
-
内存 < 2GB:Swap 建议为内存的 2 倍。
-
内存 > 4GB:Swap 建议为 4GB~8GB。
-
-
删除 Swap 文件:
sudo swapoff /swapfile sudo rm /swapfile # 最后删除 /etc/fstab 中的对应行
通过上述步骤,你可以为云服务器快速启用 Swap 空间。根据实际需求调整大小和配置即可。