解决:vscode-remote-ssh 远程连接后 rg 进程占用 CPU 问题

解决:vscode-remote-ssh 远程连接后 rg 进程占用 CPU 问题


VSCode 的 Remote Development 功能十分好用,但笔者在连接阿里云 ECS 时偶会遇到断连和命令行卡顿问题。经过排查发现是远程开发插件的 rg 进程长时间高占用 CPU 导致。本文将会介绍一种解决此问题的办法。


1. 问题描述

使用 VSCode 的 Remote SSH 连接 ECS 云主机,观察 top 命令面板,可发现 rg 进程长时间大量占用 CPU:
rg 占用 CPU


2. 问题解决

此问题在所连接到的工作区含有大量 symlinks 时会出现。

解决方案为:打开设置,搜索 search.followSymlinks,将远程工作区对应设置置为 False 即可。

SSH
workdir

之后再使用 Remote SSH,观察 top 面板,可发现 rg 不再长时间占用 CPU 资源。


参考链接

### 提升 VSCode SSH 远程连接性能的方法 #### 优化网络配置 为了减少因网络不稳定造成的延迟,可以调整本地和远程服务器上的 SSH 配置文件 `/etc/ssh/sshd_config` 或 `~/.ssh/config` 中的相关参数。增加 ServerAliveInterval 和 ClientAliveInterval 参数可以帮助保持连接活跃状态,防止无故断开。 ```bash ServerAliveInterval 60 ClientAliveInterval 60 ClientAliveCountMax 3 ``` 这些设置确保每分钟发送一次心跳包给对方,如果连续三次未收到回应则自动关闭连接[^1]。 #### 减少资源消耗 当观察到远程机器上存在某些进程过度占用CPU的情况时,可以通过修改VS Code Remote - SSH扩展的行为来缓解这一状况。具体来说,降低 ripgrep (rg) 工具的优先级或限制其并发度能够有效改善整体流畅度: 编辑 `.vscode-server/data/Machine/settings.json` 文件并加入如下选项: ```json { "search.maxRipGrepMemory": 512, "files.watcherExclude": "**/*.log" } ``` 上述配置减少了搜索操作所使用的内存上限以及排除了日志文件监视器的影响范围,从而减轻系统负担[^2]。 #### 更新软件版本 确保使用最新版 Visual Studio Code 及配套插件非常重要。开发者团队持续修复已知漏洞并对新特性提供支持,这有助于获得更好的用户体验。定期检查更新通知,并按照提示完成升级流程。 另外,在初次建立链接前先手动安装较新的 OpenSSH 客户端和服务端程序同样有益处,因为它们往往包含了针对不同平台做了特别优化后的改进措施[^3]。 #### 使用更快捷的方式传输数据 对于频繁读取大量文件夹结构的应用场景而言,启用压缩功能可以在一定程度上加快速度。只需向用户的 SSH 配置里追加 Compression yes 即可开启这项服务;不过需要注意的是,虽然这样做能提升效率但也可能带来额外计算成本。 ```bash Compression yes ``` 此外还可以考虑利用更高效的算法如 zstd 来代替默认 gzip 方法实现更高的压缩率与更低的时间复杂度。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值