论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
主机系统
›
linux
›
【已解决】VSCode 连接 Linux 云服务器,代码写着写着服 ...
【已解决】VSCode 连接 Linux 云服务器,代码写着写着服务器突然挂了是怎么 ...
盛世宏图
金牌会员
|
2024-12-25 15:36:16
|
显示全部楼层
|
阅读模式
楼主
主题
881
|
帖子
881
|
积分
2643
1. 问题形貌
在利用 VSCode 连接远程 Ubuntu 云服务器写代码的时候,感觉越写越卡,代码提示半天出不来,最后更是直接断开连接了:
纵然把 VSCode 关了,再重启也没用,再次登录直接秒挂;
只能重启服务器,但是重启后写一段时间还是会挂。
2. 问题缘故起因
一般来说,这种环境是
服务器设置太低
造成的,比如我的服务器内存只有 2G,代码 / 包罗的库 轻微多一点,VSCode 一会就把内存搞爆了,这时候我们可以利用 htop 指令查看资源占用环境:
可以看到有 60% 的内存都被 VSCode 占用了,在这种环境下,关闭 VSCode 以后可以缓解,但是假如再次打开,内存占用又会爆满。
个人推测:
在我们写代码的时候,假如在 VSCode 上安装了相干的代码插件,为了及时显式代码的提示信息,VSCode 会把相干库的内容全部拉到内存中,假如这些库很大,再加上 VSCode 自己的内存斲丧,就会导致内存被大量占用,尤其是我的内存只有 2G,很容易就把内存打满了,造成服务器运行缓慢 / 无响应。
3. 解决方法
添加 Swap 内存扩展(保举)
通过上面 htop 界面可以发现,在内存 Mem 的下方还有一个 Swp ,这是什么意思呢?这也是一块内存空间吗?实在在 Linux 系统上允许利用磁盘空间来充当内存空间。通过添加和设置 Swap 空间,可以在内存不敷的环境下利用磁盘空间作为假造内存,从而缓解内存压力。
查抄是否已有 Swap 空间
首先,查抄系统是否已经设置了Swap空间:
sudo swapon --show
复制代码
假如没有输出,说明系统没有设置Swap空间。
创建 Swap 文件
以下是创建 1GB Swap 文件的步调:
# 创建一个 1GB 的 Swap 文件
sudo fallocate -l 1G /swapfile
复制代码
假如 fallocate 命令不可用,可以利用以下命令取代:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
复制代码
设置正确的权限
为了确保只有 root 用户可以访问 Swap 文件,需要设置文件权限:
sudo chmod 600 /swapfile
复制代码
将文件转换为 Swap 空间
利用 mkswap 命令将文件转换为 Swap 空间:
sudo mkswap /swapfile
复制代码
启用 Swap 文件
启用刚刚创建的 Swap 文件:
sudo swapon /swapfile
复制代码
你可以再次利用 sudo swapon --show
命令确认 Swap 空间已经启用。
永久启用 Swap 文件
为了在系统重启后依然保留 Swap 文件,需要将其添加到 /etc/fstab 中:
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
复制代码
查抄 Swap 空间利用环境
利用以下命令查抄 Swap 空间的利用环境:
free -h
复制代码
你将看到类似如下的输出:
total used free shared buff/cache available
Mem: 2.0G 1.5G 100M 100M 400M 300M
Swap: 1.0G 256M 744M
复制代码
这样,你就可以通过添加和设置 Swap 空间来扩展假造内存,缓解内存不敷的问题。这种方法适用于低内存设置的服务器,可以显著提高系统的稳定性和性能。
实际测试下来,Swap 假造内存空间慢是慢了点,但是服务器的内存不会再爆满了,所以个人还是比较保举利用这种方法。除此之外 Swap 空间也可以进行其他的参数调解,以便适应不同的工作环境,大家感兴趣可以自己研究一下。
升级服务器设置
假如你是一个全职程序员,在遇到这种问题的时候,升级设置是很有须要的。
禁用插件
假如你是一个学生,大概没有那么多资金来升级设置,那么你可以通过禁用大量占用内存的插件来解决内存问题,但是这样会很影响我们写代码的服从。
手动停止进程
这是我之前用过的方法,假如你不想升级设置,也不想删除实用插件,那么你可以试试手动把占用内存高的进程停止掉。但是随着代码量不断增加,刚清理出来的内存很快又会被占满,所以这个方法只得当应急。
利用 htop 指令打开资源管理器,这内里可以直接用鼠标进行操作,很方便;
选中一个进程后,键入 F9 大概直接鼠标点击 kill ;
现在你可以选择要给 进程 发送的 信号 ,一般默认的 SIGTERM(进程停止信号) 即可达到我们的目标;
完成后可以看到内存空间被清理出来了,经过我的测试下来,这个操作并不会对正在运行的 VSCode 和正在编写的代码造成什么影响。但是继承写代码,又会继承占用内存,所以我们感觉到卡顿的时候,应该去及时查看一下内存利用环境;
程序在编译时也会大量占用内存,假如你经常在程序编译时卡死,那么你应该在程序编译前清理一下内存。
待增补…
END
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
盛世宏图
金牌会员
这个人很懒什么都没写!
楼主热帖
绝了,这20款可视化大屏模板太酷炫了( ...
零基础学Java(1)初识Java程序 ...
【十年网络安全工程师整理】—100渗透 ...
聊聊DevOps制品管理-不止是存储制品这 ...
Python程序运行内存的查看
Frida主动调用java函数来爆破解题思路 ...
lamp
数据库扩容也可以如此丝滑,MySQL千亿 ...
记一次 .NET 某RFID标签管理系统 CPU ...
【Linux进程概念——下】验证进程地址 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表