或许您和许多VPS用户一样,发现即便是新购买的1GB甚至更高内存的搬瓦工(BandwagonHost)VPS,在使用一段时间后,尤其是在安装了宝塔面板(BT Panel)、数据库(MySQL)等内存消耗大户后,KiwiVM面板的Swap
状态条还是亮起了刺眼的红色警告。
这是否意味着服务器即将崩溃?我该如何解决?
别担心。这篇文章将从根源为您解读SWAP的奥秘,并提供一套经过验证、安全可靠的步骤,手把手教您如何为VPS扩充“战略储备内存”,彻底告别SWAP爆满的焦虑。
一、深度理解SWAP – 不仅仅是“虚拟内存”
在动手操作前,我们必须准确理解SWAP是什么,以及它为何会“爆满”。
SWAP到底是什么?
SWAP,常被称为“交换分区”,是Linux操作系统中的一种内存管理机制。您可以把它想象成物理内存(RAM)的“辅助周转空间”。
- 一个形象的比喻: 如果您的物理内存(RAM)是办公桌面,那么SWAP空间就是您桌子旁边的文件柜。
- 当您的办公桌面(RAM)堆满了文件,为了处理新的紧急任务,您会把一些暂时不用、但又不能扔掉的旧文件(RAM中不活跃的内存页)暂时存放到文件柜(SWAP)里,从而腾出宝贵的桌面空间。
SWAP满了有什么影响?
首先,SWAP满了本身不代表系统会立即崩溃。它只表示操作系统为了释放物理内存,已经将很多不活跃的数据页交换到了磁盘上。
真正的性能杀手不是“SWAP满了”,而是**“高频度的交换(Swapping)”**。因为磁盘的读写速度比内存慢成千上万倍,如果系统因为物理内存严重不足,需要频繁地在“桌面”和“文件柜”之间来回倒腾文件,会导致整个系统响应变得极其缓慢。
因此,一个健康的SWAP状态应该是:在物理内存充足时备而不用,在物理内存偶尔紧张时提供缓冲,而不是被持续高强度地读写。
二、增加SWAP分区实战教程
为小内存VPS增加一个大小适中的SWAP空间,是提升其在高负载下稳定性的最经济有效的方法。
准备工作与检查
1. 确认虚拟化类型: 本教程适用于KVM、Xen等完全虚拟化架构的VPS。搬瓦工目前所有在售方案均为KVM架构,完全兼容。
检查当前SWAP大小: 通过SSH登录您的VPS,运行以下命令:
free -h
您会看到类似输出,关注Swap
一行,确认当前大小。

检查当前SWAP大小
2. 【重要】检查可用磁盘空间: 创建SWAP文件会占用您的硬盘空间。运行以下命令查看:
df -h
确保您有足够的剩余空间来创建您计划大小的SWAP文件。例如,要创建2G的SWAP,您至少需要2G以上的可用磁盘空间。

检查可用磁盘空间
3. 【重要】预备步骤:处理已存在的SWAP文件 在某些情况下,特别是像Vultr这样预装的系统镜像…
- 停用旧的SWAP文件…
sudo swapoff /swapfile
- 删除旧的SWAP文件…
sudo rm /swapfile
完成以上预备步骤后,您就可以顺利地执行下面的创建流程了。

处理已存在的SWAP文件
操作步骤
1. 创建用于SWAP的交换文件
我们将使用dd
命令创建一个指定大小的文件。通常,SWAP的大小建议为物理内存的1-2倍。例如,我们为1G内存的VPS创建一个2G的SWAP文件。
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
-
sudo
: 以管理员权限执行。dd if=/dev/zero
: 从/dev/zero
设备读取,这是一个能无限提供0
字节的特殊文件。of=/swapfile
: 指定输出文件的路径和名称。/swapfile
是标准的存放位置。bs=1M
: 定义每个块(block)的大小为1MB。count=2048
: 定义总共创建2048个块。- 总大小 = bs * count = 1MB * 2048 = 2048MB = 2GB。 您可以根据需要调整
count
的值。

创建用于SWAP的交换文件
2. 设置正确的文件权限
出于安全考虑,SWAP文件应只能由root用户读写。
sudo chmod 600 /swapfile

sudo chmod 600 /swapfile
3. 将文件格式化为SWAP格式
现在,这个文件还只是一个填满了0的普通文件。我们需要用mkswap
命令将其格式化为SWAP分区。
sudo mkswap /swapfile

格式化为SWAP分区
4. 启用SWAP文件
格式化完成后,使用swapon
命令立即激活并启用这个SWAP文件。
sudo swapon /swapfile

激活并启用SWAP文件
5. 验证SWAP是否成功启用
再次运行free -h
命令,检查Swap
一行的大小是否已经变成了您刚刚创建的大小(例如2.0G)。
free -h

验证SWAP是否启用成功
如果显示正确,恭喜您,新的SWAP已经开始工作了!
6. 设置开机自动挂载,使其永久生效
以上步骤创建的SWAP在VPS重启后会失效。我们需要将其写入/etc/fstab
配置文件,让系统每次启动时都自动加载它。
为了防止手动编辑出错,我们使用以下更安全的echo
命令追加配置:
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
这条命令会将'/swapfile swap swap defaults 0 0'
这行配置信息,追加到/etc/fstab
文件的末尾。

设置开机自动挂载
至此,您已经成功为您的VPS添加了一个全新的、永久生效的SWAP空间。
三、治标与治本 – SWAP之外的终极解决方案
增加SWAP是解决内存燃眉之急的“治标”之策,它能有效防止因瞬时内存不足导致的程序崩溃。但如果您发现服务器长期处于高SWAP使用率状态,说明物理内存已经成为性能瓶颈,此时“治本”之策——升级到更高内存的套餐——才是王道。
套餐 | CPU | 内存 | 硬盘 | 流量 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
KVM线路 | 2核 | 1GB | 20GB | 1TB | 1Gbps | 9个机房 | $49.99/年 | 购买 |
KVM线路 | 3核 | 2GB | 40GB | 2TB | 1Gbps | 9个机房 | $52.99/半年 $99.99/年 |
购买 |
CN2 GIA-E | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | 日本软银 等14个机房 |
$49.99/季度 $169.99/年 |
购买 |
CN2 GIA-E | 3核 | 2GB | 40GB | 2TB | 2.5Gbps | 日本软银 等14个机房 |
$89.99/季度 $299.99/年 |
购买 |
香港CN2 GIA | 2核 | 2GB | 40GB | 0.5TB | 2.5Gbps | 香港|东京| 大阪|新加坡| |
$89.99/月 $899.99/年 |
购买 |
香港CN2 GIA | 4核 | 4GB | 80GB | 1TB | 2.5Gbps | 香港|东京| 大阪|新加坡| |
$155.99/月 $1559.99/年 |
购买 |
东京TOKYO | 2核 | 2GB | 40GB | 0.5TB | 1.2Gbps | 日本东京 CN2 GIA |
$89.99/月 $899.99/年 |
购买 |
东京TOKYO | 4核 | 4GB | 80GB | 1TB | 1.2Gbps | 日本东京 CN2 GIA |
$155.99/月 $1559.99/年 |
购买 |
- 更多搬瓦工套餐请访问:2025|搬瓦工VPS所有在售方案整理
- 搬瓦工注册教程参考:2025|搬瓦工最新购买教程附支付宝/银联/微信付款教程
- 搬瓦工最新优惠码:2025|搬瓦工VPS优惠码(长期更新)
升级提示: 在考虑升级时,不要忘记使用本站提供的最新搬瓦工优惠码 BWHCGLUKKB,可享受高达6.78%的循环折扣!
总结
正确配置和使用SWAP是Linux服务器管理的一项基础技能。它像一个安全气囊,在关键时刻为您的服务器提供缓冲,防止“车毁人亡”。通过本文的步骤,您已掌握了如何安全、有效地为您的搬瓦工VPS部署这个“安全气囊”。
但请牢记,SWAP虽好,却不能替代物理内存。监控您的内存使用情况,当SWAP被频繁读写时,就是您考虑升级硬件、为您的业务提供更广阔发展空间的最佳时机。