使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃

简介: 通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。

1)现象:

通过 VSCode 的插件 Remote - SSH 远程登录阿里云的 Ubantu22 服务器,过一段时间就会断开连接,且用页面连接时会提示连接不上:

image.png

2)排查:

将服务器强制重启后(理论上应该先对服务器创建快照备份,但我服务器上没什么重要的临时数据,所以直接强制重启了就),按照如下命令安装 atop 对系统进行监控:

apt -y install atop

atop  

systemctl start atop

进入 atop 或 top 命令后,摁 Ctrl + C 退出监控页面

3)问题复现:

强制重启 Linux 后,通过 VSCode 远程连接,输入 atop 显示监控内容:

image.png

可见有一个进程把CPU打满了,CMD 为 "rg",ChatGPT 给出的解释为:

“rg” 是 “ripgrep” 的简称,它是一个非常快速的命令行搜索工具,用于在文件系统中递归地搜索文本模式。当它在处理大型文件目录结构或复杂的搜索模式时,可能会占用较高的 CPU 资源。

例如,如果你在一个包含大量代码文件的目录(如一个大型的代码仓库)中使用 “rg” 来查找一个特定的函数名或者代码片段,它会遍历所有文件来匹配你的搜索条件。如果搜索的范围很广,文件数量众多,并且可能涉及到大量的文本处理,就容易导致 CPU 占用率升高。

根据上面的解释,我意识到可能是因为我是通过 VSCode 连接的服务器的根目录 ".." 导致的,也就是上面那个截图最左侧显示的目录,是整个 Linux 服务器的 ".." ,这可能会导致 VSCode 不停地调用 "rg" 检索服务器文件。

3)解决问题:

改为连接服务器的 "root" 目录,而非根目录 ".." 。
如下图所示,atop 显示的监控也都正常了:

image.png

相关文章
|
8月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
425 14
|
9月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
489 24
|
9月前
|
Ubuntu 应用服务中间件 网络安全
关于一些轻量云服务器SSH断连的疑问
在使用2H2G配置的轻量级Ubuntu 22.04服务器时,按照Solana官网教程安装环境,执行`[cargo install]`命令(特别是安装avm和anchor包时),出现SSH连接中断且无法重新登录的问题。推测可能是低配服务器资源耗尽导致SSH进程被终止,即便CPU使用率下降也无法恢复连接,需重启服务器并等待约30分钟才能恢复正常。此现象或与服务器性能限制有关,期待更多测试与解释。
|
安全 Linux Shell
Linux SSH(Secure Shell)服务
Linux SSH提供安全网络协议,使用公钥加密技术确保远程服务传输安全。OpenSSH是实现SSH服务的免费开源工具,允许用户加密连接远程登录Linux服务器执行任务。SSH比Telnet更安全,防止数据被截获。SSH还支持端口转发和隧道,广泛应用于系统管理和网络维护,是安全远程访问服务器的重要工具。
225 1
|
监控 数据可视化 安全
Linux——怎样使用SSH服务实现远程UI界面本地显示
需求场景 最近几天需要实现软件的远程监控,但是实际场景又不能使用向日葵、VNC、AnyDesk、以及其他的监视软件,并且软件的整体设计也没有这块的数据上行设计。
1299 0
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
安全 Linux 网络安全
Linux加强篇009-使用ssh服务管理远程主机
山重水复疑无路,柳暗花明又一村
589 0
Linux加强篇009-使用ssh服务管理远程主机
|
运维 安全 Linux
Linux巩固篇009-Linux ssh服务管理
纸上得来终觉浅,绝知此事要躬行
9407 2
Linux巩固篇009-Linux ssh服务管理
|
安全 网络协议 Linux
哇~真的是你呀!今天是LINUX中的SSH服务
SSH(Secure Shell)是一种加密网络协议,用于远程登录和安全传输数据。在Linux系统中,SSH服务是一种常见的远程管理工具,允许用户通过安全的连接远程访问和控制Linux服务器。以下是关于Linux中SSH服务的一些重要信息.
216 0
|
存储 安全 网络协议
Linux网络——远程访问控制(SSH服务)
Linux网络——远程访问控制(SSH服务)
Linux网络——远程访问控制(SSH服务)