文章目录
- 1. 问题描述
- 2. 问题原因
- 3. 解决方法
1. 问题描述
在使用 VSCode 连接远程 Ubuntu 云服务器写代码的时候,感觉越写越卡,代码提示半天出不来,最后更是直接断开连接了:
即使把 VSCode 关了,再重启也没用,再次登录直接秒挂;
只能重启服务器,但是重启后写一段时间还是会挂。
2. 问题原因
一般来说,这种情况是服务器配置太低造成的,比如我的服务器内存只有 2G,代码 / 包含的库 稍微多一点,VSCode 一会就把内存搞爆了,这时候我们可以使用 htop
指令查看资源占用情况:
可以看到有 60% 的内存都被 VSCode 占用了,在这种情况下,关闭 VSCode 以后可以缓解,但是如果再次打开,内存占用又会爆满。
个人猜测:
在我们写代码的时候,如果在 VSCode 上安装了相关的代码插件,为了及时显式代码的提示信息,VSCode 会把相关库的内容全部拉到内存中,如果这些库很大,再加上 VSCode 本身的内存消耗,就会导致内存被大量占用,尤其是我的内存只有 2G,很容易就把内存打满了,造成服务器运行缓慢 / 无响应。
3. 解决方法
-
升级服务器配置
如果你是一个全职程序员,在遇到这种问题的时候,最好的解决办法就是升级配置,显然这台服务器已经难以支持你的正常工作了。
-
删除插件
如果你是一个学生,或者没有那么多资金来升级配置,那么你可以通过删除大部分插件来解决内存问题,但是这样又会很影响工作效率,跟直接用原生
vim
写代码也没什么区别了。 -
手动终止进程
这也是我现在正在用的方法,如果你不想升级配置,也不想删除实用插件,那么你可以试试手动把占用内存高的进程终止掉。
-
使用
htop
指令打开资源管理器,这里面可以直接用鼠标进行操作,很方便; -
选中一个进程后,键入
F9
或者直接鼠标点击kill
; -
现在你可以选择要给
进程
发送的信号
,一般默认的SIGTERM(进程终止信号)
即可达到我们的目的; -
完成后可以看到内存空间被清理出来了,经过我的测试下来,这个操作并不会对正在运行的 VSCode 和正在编写的代码造成什么影响。但是继续写代码,又会继续占用内存,所以我们感觉到卡顿的时候,应该去及时查看一下内存使用情况;
-
程序在编译时也会大量占用内存,如果你经常在程序编译时卡死,那么你应该在程序编译前清理一下内存。
-
-
设置自动终止高消耗进程 / 设置进程可占用的最大内存
这个属于是一些进阶方法,但是会对服务器造成一些其他影响,大家感兴趣可以自己研究一下。
-
待补充…
由于我目前还是一个学生,才疏学浅,可能并没有给出一个完美的解决方案,各位大佬们如果有其他方法,可以在评论区讨论、补充,本人感激不尽。