云服务器ECS 2GB内存太小总是爆满崩溃解决办法
·
我用服务器时一打开 .py 文件就断,
VS Code 的机制是:当你打开 Python 文件时,它会立刻启动 Python 插件 (Pylance)。
-
Pylance 开始疯狂扫描你的环境、索引代码、加载自动补全库。
-
这个过程会瞬间消耗 500MB 到 1GB 的内存。
-
如果你的阿里云服务器内存只有 1GB 或 2GB,系统会立刻发现内存不够用。
-
Linux 内核为了保命,触发 OOM Killer,直接杀掉占用内存最大的进程——也就是你的 SSH 连接或者 VS Code Server。
-
结果就是:连接中断。
验证方法(看着它死)
你可以验证一下是不是这个问题:
-
连上服务器,先别打开任何文件。
-
在 VS Code 下方的终端里,输入
free -h看一眼
Mem这一行的available还有多少?(如果少于 500MB,必死无疑)。 -
或者输入
top,然后打开那个 .py 文件,你会看到 CPU 和 内存 瞬间飙升,然后连接断开。
解决方案:给服务器“挂个吊瓶” (增加虚拟内存 Swap)
这是最有效、最根本的解决办法。既然物理内存不够,我们就从硬盘划 2GB 出来当“假内存”用。
请依次复制并执行下面的命令(每行回车):
1. 创建一个 2GB 的文件作为交换分区
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. 设置权限(安全要求)
sudo chmod 600 /swapfile
3. 格式化为 Swap
sudo mkswap /swapfile
4. 启用 Swap
sudo swapon /swapfile
5. 再次检查内存
此时你再输入 free -h,你会发现 Swap 那一行多出了 2.0Gi。
6. 设置开机自动挂载(防止重启失效)
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
做完这一步,再去打开那个 .py 文件
你会发现:
-
可能会稍微卡顿一下(因为在用硬盘当内存)。
-
但是绝对不会断开了!
请试一下,这招能救活 99% 的 2GB 内存小服务器。
更多推荐
所有评论(0)