不少搬瓦工 VPS 用户都会遇到这种情况:刚开始使用时内存还够,但安装宝塔面板、WordPress、MySQL、PHP 等程序以后,内存占用就会慢慢增加,Swap 也开始被使用。有时候登录后台 KiwiVM 面板,还会发现 Swap 已经占用了不少空间。
如果搬瓦工 Swap使用量比较高,或者原来的 Swap 空间太小,可以重新创建一个更大的 Swap 文件。对于VPS 内存不足的情况,增加 Swap 也能在内存紧张时起到一定的缓冲作用。
本文就以搬瓦工 VPS 为例,介绍 Swap 是什么,以及如何检查、添加和重建 Swap 文件。整个过程通过 SSH 操作,按照下面的步骤执行即可。
一、Swap是什么?
Swap 是 Linux 系统中的交换空间。当 VPS 的物理内存比较紧张时,系统会把一部分暂时不用的数据放到 Swap 中,腾出物理内存给其他程序使用。
- RAM:也就是 VPS 的物理内存,速度快,程序运行时主要使用它。
- Swap:使用硬盘空间创建的交换空间,速度比内存慢,主要在物理内存紧张时使用。
很多人也会把 Linux Swap 叫做虚拟内存。对于普通 VPS 用户来说,我们可以理解为:Swap 交换空间就是物理内存不够用时的一块备用空间。
1. Swap 占用高一定有问题吗?
看到 Swap 已经用了不少,并不代表 VPS 一定出了问题。
Linux 会根据实际情况,把部分暂时不用的数据放到 Swap 文件中。即使后来物理内存又空出来了,这些数据也不一定马上回到内存里,所以看到 Swap 有占用是很正常的。
真正需要注意的是,VPS 是否长期出现物理内存快用完、Swap 持续增加、网站变慢、SSH 卡顿,或者 MySQL、PHP 等程序因为内存不足而停止运行。
如果只是 Swap 有一些占用,但 VPS 运行正常,一般不需要特意处理。
二、添加 Swap 前的准备工作
准备给 VPS 增加 Swap 之前,先看看当前的 Swap 大小和剩余磁盘空间。如果系统已经有 Swap 文件,还要确认它的实际位置。
1. 确认系统可以使用 Swap 文件
本文的方法适用于支持 Swap 文件的常见 Linux VPS。搬瓦工 VPS 正常安装 Linux 系统后,可以直接按照下面的方法进行操作。
如果是刚开通的搬瓦工 VPS,还可以顺便检查一下服务器名称是否需要修改。有需要的话,可以参考:搬瓦工 VPS 修改主机名 Hostname 教程。
2. 查看当前 Swap 大小
通过 SSH 登录 VPS,然后运行下面的命令。如果这台 VPS 还是使用默认 SSH 端口,后面也可以根据需要修改搬瓦工 VPS 默认端口,减少一些无意义的端口扫描。
free -h
free -h
找到 Swap 一行,就可以看到当前 Swap 的总大小、已经使用多少,以及还有多少可用空间。

搬瓦工 VPS 查看当前 Swap 大小
如果这里已经显示了 Swap,说明系统之前已经配置过 Swap 文件或者 Swap 分区。
3. 查看 VPS 剩余磁盘空间
创建 Swap 文件会占用 VPS 的硬盘空间,所以还要看看磁盘剩余空间够不够。
运行:
df -h

查看搬瓦工 VPS 剩余磁盘空间
例如准备创建一个 2GB 的 Swap 文件,那么磁盘至少要有 2GB 以上的剩余空间。另外还要给系统、网站文件和数据库留出足够的空间,不要把磁盘剩余空间全部拿来做 Swap。
4. 已经有 Swap 文件怎么办?
有些 VPS 系统本身已经创建了 Swap 文件。如果准备调整原来的 Swap 大小,建议先运行下面的命令确认当前 Swap 的位置:
swapon --show
如果显示当前使用的是 /swapfile,可以先关闭它:
sudo swapoff /swapfile
然后删除旧的 Swap 文件:
sudo rm /swapfile

关闭并删除原来的 Swap 文件
注意:只有确定当前使用的 Swap 文件就是 /swapfile 时,才执行上面的删除命令。如果显示的是其他路径,需要按照大家的实际路径操作;如果显示的是 Swap 分区,也不要直接使用删除文件的命令。
三、搬瓦工添加Swap:重新创建 Swap 文件
前面的检查完成后,就可以开始创建新的 Swap 文件了。下面以创建 2GB Swap 为例。
1. 创建Swap文件
运行:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

创建 2GB Swap 文件
这条命令会在根目录创建一个名为 /swapfile 的文件。其中 bs=1M 表示每个数据块为 1MB,count=2048 表示创建 2048 个数据块。
1MB × 2048 = 2048MB,也就是大约 2GB。
如果想创建 1GB Swap,把 count=2048 改成 count=1024 即可。
2. 设置 Swap 文件权限
Swap 文件创建完成后,把权限设置为只有 root 用户可以读写:
sudo chmod 600 /swapfile

设置 Swap 文件权限
3. 把文件设置成 Swap 格式
刚创建的 /swapfile 还是一个普通文件,需要使用 mkswap 把它设置成 Swap 格式。
运行:
sudo mkswap /swapfile

将文件设置成 Swap 格式
命令执行完成后,/swapfile 就可以作为 Swap 使用了。
4. 启用 Swap 文件
接着运行:
sudo swapon /swapfile

启用新的 Swap 文件
执行完成后,新创建的 Swap 就已经启用了。
5. 检查 Swap 是否启用成功
再次运行:
free -h
查看 Swap 一行。

检查 Swap 是否添加成功
如果 Swap 已经显示为刚才设置的大小,例如 2.0Gi,说明新的 Swap 已经可以正常使用。
6. 设置 Swap 开机自动启用
现在 Swap 已经启用,但还需要检查 /etc/fstab,否则 VPS 重启后可能不会自动加载这个 Swap 文件。
先运行:
grep '/swapfile' /etc/fstab
如果已经看到下面这一行,说明以前已经配置过,不需要重复添加:
/swapfile swap swap defaults 0 0
如果没有任何输出,再运行:
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

设置 Swap 开机自动启用
设置好以后,VPS 下次重启时就会自动启用 /swapfile。
四、VPS 应该设置多大的 Swap?
Swap 没有一个固定大小,要根据 VPS 的物理内存、磁盘空间和大家的实际用途来决定。
具体跑什么程序也会影响内存需求,比如准备在搬瓦工 VPS 部署 n8n 并接入 DeepSeek,除了 n8n 本身,还可能同时运行数据库等服务,这种情况下就要多留意 VPS 的内存和 Swap 使用情况。
普通小型网站可以先参考下面的范围:
- 512MB 内存:可以考虑 1GB~2GB Swap;
- 1GB 内存:可以考虑 1GB~2GB Swap;
- 2GB 内存:可以考虑 1GB~2GB Swap;
- 4GB 以上内存:根据实际使用情况设置,不一定需要很大的 Swap。
以前经常能看到“Swap 设置成物理内存的 1~2 倍”这种说法,但这个比例并不是固定规则。
例如一台 8GB 内存的 VPS,并不一定要创建 16GB Swap。具体设置多大,还是要看 VPS 的内存使用情况和剩余磁盘空间。
五、宝塔面板内存不足,VPS内存不够怎么办?
如果安装宝塔面板、MySQL、PHP、Redis、WordPress 等程序后出现宝塔面板内存不足,VPS 增加 Swap 可以先缓解一下,但还要看服务器是偶尔内存紧张,还是长期不够用。
除了建站程序,一些自建应用对内存的要求也会更高。比如在搬瓦工 VPS 部署 Dify 搭建个人 AI 平台时,会同时运行多个组件,选择 VPS 配置时就不能只看 Swap,还要留够物理内存。
如果物理内存经常接近用完,Swap 也长期大量使用,同时已经出现网站变慢、SSH 卡顿或者程序停止运行,就应该检查哪些程序占用了较多内存。
能关闭的不需要服务可以关闭,程序配置也可以根据 VPS 的内存适当调整。如果这些都处理过了还是不够用,就需要考虑升级 VPS 内存。
所以遇到“VPS内存不够怎么办”这个问题时,Swap 可以解决一部分问题,但不能单纯靠不断增加 Swap 来处理。
六、不需要 Swap 文件了怎么删除?
如果以后不需要这个 Swap 文件,可以先关闭:
sudo swapoff /swapfile
然后删除文件:
sudo rm /swapfile
接着编辑 /etc/fstab:
sudo nano /etc/fstab
找到下面这一行并删除:
/swapfile swap swap defaults 0 0
保存后退出即可,这样 VPS 下次启动时,就不会再尝试启用这个 Swap 文件。
七、总结
搬瓦工 VPS 调整 Swap,主要就是检查当前 Swap 和磁盘空间,然后创建 Swap 文件、设置权限、启用 Swap,并设置开机自动启用。如果原来的 Swap 太小,也可以先关闭旧文件,再重新创建需要的大小。
这套方法既可以用于搬瓦工增加Swap、搬瓦工添加Swap,也适合普通 Linux VPS 添加 Swap。对于小内存 VPS 来说,适当设置 Swap 可以减少突然出现内存不足时带来的影响;如果 Swap 长期大量使用,就需要继续检查程序的内存占用,或者考虑升级 VPS 配置。
- 入门:KVM 常规套餐价格较低,适合预算有限、建站测试或轻量使用。
- 推荐:CN2 GIA-E 套餐机房选择更多,线路表现更适合大陆访问用户。
- 高端:香港、日本大阪等套餐价格更高,适合对延迟、机房位置或线路有具体要求的用户。
| 套餐 | CPU | 内存 | 硬盘 | 流量 | 带宽 | 机房 | 价格 | 购买 |
|---|---|---|---|---|---|---|---|---|
| KVM (最便宜) | 2核 | 1GB | 20GB | 1TB | 1Gbps | DC2 AO DC8 ZNET | $49.99/年 最便宜 | 购买 |
| 3核 | 2GB | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 | 购买 | ||
| CN2 GIA-E 最推荐 | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 软银 JPOS_1 荷兰 EUNL_9 圣何塞 CN2 GIA 加拿大 CN2 GIA | $49.99/季度 $169.99/年 | 购买 |
| 3核 | 2GB | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 | 购买 | ||
| SLA (SLA 保障) | 2核 独享 | 1GB | 20GB | 1TB | 2.5Gbps | 美国 DC5 SLA 99.99% 在线率 每两周免费换IP一次 | $65.89/季 $239.99/年 | 购买 |
| 3核 独享 | 2GB | 40GB | 2TB | 2.5Gbps | $116.99/季 $399.99/年 | 购买 | ||
| 香港(HKHK_8) 高端首选 | 2核 | 2GB | 40GB | 0.5TB | 1Gbps | 中国香港 日本东京 日本大阪 新加坡 | $89.99/月 $899.99/年 | 购买 |
| 4核 | 4GB | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 | 购买 | ||
| 大阪(JPOS_6) (高性价比) | 2核 | 2GB | 40GB | 0.5TB | 1.5Gbps | 日本大阪 | $49.99/月 $499.99/年 | 购买 |
| 4核 | 4GB | 80GB | 1TB | 1.5Gbps | $86.99/月 $869.99/年 | 购买 |

搬瓦工