返回博客
五月 23, 2026指南

在 Linux VPS 上添加 Swap 空间

通过创建并启用 swap 文件及调整 swappiness,防止小内存 VPS 出现 OOM。

在 Linux VPS 上添加 Swap 空间

内存有限的 VPS 在负载下可能耗尽内存。Swap 使用磁盘作为虚拟内存,有助于防止崩溃。本指南介绍在 Ubuntu 和 CentOS 上添加 swap 文件。

检查当前 swap

bash
free -h
swapon --show

# If Swap shows 0, you need to add swap

创建 swap 文件(以 2 GB 为例)

大小取决于 RAM——小 VPS 常为 RAM 的 1–2 倍,或至少 1 GB:

bash
sudo fallocate -l 2G /swapfile
# If fallocate fails:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

free -h

使 swap 永久生效

写入 /etc/fstab,重启后仍启用 swap:

bash
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo swapon --show

调整 swappiness

服务器常用 10–60(默认 60)。数值越低,越少使用 swap:

bash
sudo sysctl vm.swappiness=10

# Permanent:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

重要说明

  • Swap 慢于 RAM——请优化应用,勿仅依赖 swap
  • SSD 上的 swap 可接受;繁忙服务器需监控磁盘 I/O
  • 删除:sudo swapoff /swapfile && sudo rm /swapfile
  • 512 MB RAM 的 VPS,1 GB swap 是实用下限
  • 若 swap 长期占满,考虑升级 RAM