解决云服务器内存不足: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. 网络问题单独解决:如果是热点网络波动导致的卡顿,换宽带会更有效。

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

相关推荐
JoyCong19987 分钟前
从iPhone Ultra到ToDesk:折叠大屏时代的效率革命,硬件只是开始
大数据·运维·ios·智能手机·iphone·远程工作·远程操作
山岚的运维笔记18 分钟前
mysql 专业笔记 -- 第 1 章:MySQL 入门
运维·数据库·笔记·后端·学习·mysql·dba
邪修king21 分钟前
Re:Linux 系统篇(十五):进程篇(四):进程切换深度解析 —— CPU 寄存器、进程上下文与切换全流程万字详解
linux·运维·服务器
深念Y30 分钟前
Docker 镜像体积从 110MB 降到 13MB 后端服务的瘦身
运维·docker·容器
小五传输41 分钟前
【一文解读】汽车制造业协同,跨网跨区域文件传输如何落地?
大数据·运维·安全
BlueAsia_Lab1 小时前
BQB 认证执行标准是什么?核心条款通俗解读
linux·运维·网络
YOU OU1 小时前
多机部署/负载均衡-LoadBalance
运维·负载均衡
小小、码农1 小时前
【网络】套接字(Socket)编程——TCP版
linux·服务器·网络·c++·网络协议·tcp/ip
younuo36551 小时前
广州网站搭建费用明细:域名、服务器与开发成本全解析
服务器·前端·github
邪修king1 小时前
Re:Linux 系统篇(十六):进程篇(五):O (1) 调度算法深度解析 —— 优先级数组、位图优化与活跃 / 过期双队列
linux·运维·算法