解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)

前言:

作为一个刚接触云服务器的开发者,最近被「远程连接卡顿」折磨到崩溃 ------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,看到Swaptotal显示 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 秒 +;

配置后:同样的操作,响应速度恢复正常,代码编辑、命令执行都不卡了。

注意事项

  1. swap 是 "缓兵之计":如果经常跑大型程序,还是建议升级云服务器内存;
  2. 别乱删 swap 文件:配置好后不要手动删除/swapfile,会导致系统出错;
  3. 网络问题单独解决:如果是热点网络波动导致的卡顿,换宽带会更有效。

跑大型程序,还是建议升级云服务器内存;

  1. 别乱删 swap 文件:配置好后不要手动删除/swapfile,会导致系统出错;

  2. 网络问题单独解决:如果是热点网络波动导致的卡顿,换宽带会更有效。

希望这个教程能帮到和我一样的新手,有问题欢迎在评论区交流~

相关推荐
初恋叫萱萱1 小时前
深入解析 Rust + LLM 开发:手把手教你写一个 AI 运维助手
运维·人工智能·rust
加农炮手Jinx2 小时前
Flutter for OpenHarmony: Flutter 三方库 icon_font_generator 自动化将 SVG 图标集转化为字体文件(鸿蒙矢量资源全自动管理)
运维·flutter·华为·自动化·harmonyos·devops
我真的想 啸2 小时前
在 Ubuntu 24.04 系统上安装并使用 Codex CLI
linux·ubuntu·arcgis
声声长乐4 小时前
Jenkins + Docker 完整部署指南
ubuntu·docker·jenkins
雨大王5125 小时前
汽车生产智能计划助手如何提升排产效率并降低库存积压?
大数据·运维
以太浮标5 小时前
华为eNSP综合实验之- 3a认证配置案例及解析(AAA认证)
运维·tcp/ip·网络安全·华为·信息与通信
No8g攻城狮5 小时前
【Linux】Linux nano 编辑器全攻略:从入门到精通
linux·运维·编辑器·nano
2301_805962937 小时前
arduino IDE如何设置代理
运维·服务器
shughui7 小时前
Docker Desktop下载、安装、配置、使用
运维·docker·容器·自动化