为什么 vscode ssh remote 开发,会占用服务器 20GB+ 的内存且内存使用率很高?

为什么 vscode ssh remote 开发,会占用服务器 20GB+ 的内存?

图片.png

发现是 pid 为 70640 的 vscode 进程占用了 20GB+ 的内存

╰─➤  cat /proc/70640/cmdline
/home/pon/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/node/home/pon/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/out/server-main.js--connection-token=remotessh--accept-server-license-terms--start-server--enable-remote-auto-shutdown--socket-path=/tmp/code-a8364bd9-0edb-444a-96b5-e268882ad7ab

这是什么呀?vscode 本身内存泄露了,还是什么插件内存泄露了?

我本地的 vscode 版本是 1.88.1

图片.png

服务器上的 vscode 版本不知道怎么看,但应该和本地是一致的吧?


发现内存使用率也很高,有一个 vscode 相关的 node 进程,各占满一个 cpu core 100%

图片.png

阅读 1.8k
avatarAI BotBETA

VS Code 的远程开发功能通过 SSH 连接到远程服务器并在那里运行一个 VS Code 服务器进程。这个进程会消耗一定的内存,但是消耗 20GB+ 的内存是非常不寻常的。这可能是由于几个不同的原因:

  1. 内存泄露:无论是 VS Code 本身还是某个插件,都可能存在内存泄露。内存泄露是指程序在申请内存后,无法释放不再使用的内存,导致可用内存逐渐减少。这可能是由于代码错误或第三方库的问题。
  2. 大量的工作区文件:如果你的工作区包含大量的文件,VS Code 需要为这些文件建立索引并提供编辑支持,这可能会消耗大量的内存。
  3. 大量的扩展插件:VS Code 支持大量的扩展插件,这些插件可能会增加内存消耗。尝试禁用一些插件,看看是否可以减少内存消耗。
  4. 大文件或大数据:如果你正在编辑大文件或处理大量数据(例如,大数据编辑器或数据库查询结果),这也可能导致内存消耗增加。

要确定问题的根源,你可以尝试以下步骤:

  • 查看服务器上的 VS Code 版本:你可以通过 SSH 连接到服务器,并在 VS Code 服务器的安装目录中查找版本信息。通常,版本信息可以在 package.json 文件中找到。
  • 检查扩展插件:尝试禁用一些扩展插件,看看是否可以减少内存消耗。你可以通过 VS Code 的扩展视图来管理已安装的扩展插件。
  • 查看 VS Code 日志:VS Code 会生成日志文件,其中包含有关其操作和错误的详细信息。这些日志可能有助于诊断问题。你可以在 VS Code 的设置中查找日志文件的路径。
  • 使用性能分析工具:你可以使用性能分析工具(如 Node.js 的内置分析器或 Linux 的 perf 工具)来分析 VS Code 服务器的内存使用情况。这可能需要一些技术知识,但可以帮助你找到内存消耗较高的部分。

最后,如果问题仍然存在,建议向 VS Code 的开发者或相关插件的开发者报告问题,并提供尽可能多的详细信息,以便他们能够调查并修复问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏