前言:
作为一个刚接触云服务器的开发者,最近被「远程连接卡顿」折磨到崩溃 ------Xshell 敲命令半天没反应,VS Code 远程编辑代码一直加载,排查了半天发现是云服务器 2GB 内存不够用。
查了资料才知道,给服务器加个 swap 交换区(相当于 "虚拟内存")能缓解这个问题,亲测有效!今天把从 "为什么要开 swap" 到 "全程操作流程" 整理成超详细教程,新手跟着做就能搞定。
一、为什么要给云服务器开 swap?
云服务器的物理内存(比如我的 2GB)很容易被占满:
- 跑个数据库、后端程序,再开远程连接工具,内存直接吃满;
- 内存不足时,系统会强制杀死进程,或者变得异常卡顿(这就是我之前远程连接卡的原因)。
swap 交换区是硬盘模拟的 "虚拟内存",能临时存放下物理内存装不下的数据,让服务器不会因为内存不够直接崩掉,远程连接的流畅度也会提升。
二、Ubuntu 系统 swap 交换区配置全流程(2 分钟搞定)
适用系统:Ubuntu 全版本(我的是云服务器 Ubuntu VM-8-2)
准备工作:用 Xshell/VS Code 远程连接云服务器,直接复制命令执行即可。
步骤 1:先检查当前是否有 swap
执行命令看系统有没有自带 swap(新手不用理解,直接跑):
hash
free -h
如果Swap行的total显示0B,说明没有 swap,继续下一步。
步骤 2:创建 2GB swap 交换文件
推荐 swap 大小 = 物理内存的 1~2 倍(我 2GB 内存,所以设 2GB):
hash
# 方式1(优先用,速度快)
sudo fallocate -l 2G /swapfile
# 方式2(当方式1报错时用,通用,稍慢)
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
步骤 3:设置权限(必须做,防安全风险)
让只有 root 能访问 swap 文件,避免被篡改:
hash
sudo chmod 600 /swapfile
步骤 4:格式化并启用 swap
hash
# 格式化swap文件
sudo mkswap /swapfile
# 启用swap
sudo swapon /swapfile
执行完再跑free -h,看到Swap行total显示 2GB,说明启用成功!
步骤 5:设置开机自动启用(避免重启失效)
编辑系统配置文件,让 swap 重启后也能生效:
hash
# 用vim打开配置文件
sudo vim /etc/fstab
按i进入编辑模式,在文件最后一行粘贴:
hash
/swapfile none swap sw 0 0
按Esc,输入:wq回车保存退出。

步骤 6:验证最终效果
重启服务器后,再执行free -h:
hash
sudo reboot
重启后Swap行还是显示 2GB,就彻底配置完成了!

三、效果实测
配置前:开 Xshell+VS Code 远程连接,服务器内存占满,操作延迟 10 秒 +;
配置后:同样的操作,响应速度恢复正常,代码编辑、命令执行都不卡了。
注意事项
- swap 是 "缓兵之计":如果经常跑大型程序,还是建议升级云服务器内存;
- 别乱删 swap 文件:配置好后不要手动删除
/swapfile,会导致系统出错; - 网络问题单独解决:如果是热点网络波动导致的卡顿,换宽带会更有效。
跑大型程序,还是建议升级云服务器内存;
-
别乱删 swap 文件:配置好后不要手动删除
/swapfile,会导致系统出错; -
网络问题单独解决:如果是热点网络波动导致的卡顿,换宽带会更有效。
希望这个教程能帮到和我一样的新手,有问题欢迎在评论区交流~
