搬瓦工VPS进阶优化:手动添加SWAP交换分区
更多语言
更多操作
一、 为什么需要设置 SWAP?
许多 BandwagonHost 的高性价比套餐(如 The Plan、Micro 方案)配备的物理内存(RAM)可能在 512MB 到 2GB 之间。当你在 VPS 上运行数据库(MySQL)、Web 面板或 Docker 容器时,一旦物理内存耗尽,Linux 系统机制(OOM Killer)会强制杀掉占用内存最高的进程,导致网站打不开或数据库停止运行。
SWAP(交换分区)可以将硬盘空间模拟为内存使用。虽然速度不如物理内存,但它能为系统提供关键的“缓冲”,有效防止程序因瞬间内存不足而崩溃。
二、 检查当前 SWAP 状态
在 SSH 终端中输入以下命令:
free -h
如果在输出结果中,Swap: 这一行的 total 显示为 0B,说明你的 VPS 尚未配置交换分区,建议按照以下步骤添加。
三、 手动添加 SWAP 步骤 (以添加 1GB 为例)
注:BandwagonHost 的 KVM 架构完全支持手动管理 SWAP。
1. 创建交换文件
使用 fallocate 命令创建一个 1GB 大小的文件(如果需要 2GB,请将 1G 改为 2G):
sudo fallocate -l 1G /swapfile
- (如果提示 fallocate 未找到,也可以使用:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576)*
2. 设置权限
为了安全,需要限制该文件的访问权限:
sudo chmod 600 /swapfile
3. 格式化为交换分区
将文件转换为 swap 格式:
sudo mkswap /swapfile
4. 启用 SWAP
激活该交换文件:
sudo swapon /swapfile
再次输入 free -h,你应该能看到 Swap 总量增加了。
四、 设置开机自动挂载
默认情况下,重启 VPS 后上述设置会失效。我们需要修改 /etc/fstab 文件。
1. 使用编辑器打开文件:
sudo nano /etc/fstab
2. 在文件末尾添加以下内容:
/swapfile swap swap defaults 0 0
3. 按 Ctrl + X,输入 Y,然后回车保存退出。
五、 优化 Swappiness 值 (进阶)
swappiness 参数决定了系统使用 Swap 的积极程度(0-100)。搬瓦工 VPS 使用的是高速 SSD,我们可以适当允许系统使用 Swap,但仍应优先使用物理内存。
建议将值设置为 10(表示物理内存剩余 10% 时才开始大量使用 Swap):
- 临时修改:
sudo sysctl vm.swappiness=10
- 永久生效:
编辑配置文件 sudo nano /etc/sysctl.conf,在末尾添加:
vm.swappiness=10
保存后执行 sudo sysctl -p 使配置生效。
六、 总结
通过添加 SWAP,可以显著提升搬瓦工小内存 VPS 的稳定性,特别是对于运行 WordPress、宝塔面板或 Docker 环境的用户,这是除了开启 BBR 之外最推荐的系统优化操作。