解决云服务器内存不足: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 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 小时前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode1 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森1 小时前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql