我正在使用Visual Studio Code。我在计算机上遇到性能问题。我去了任务管理器,发现Code.exe
在进程选项卡中有多个实例,即使我的PC上只有一个正在运行/活动的Visual Studio Code窗口也是如此。
我可以看到,总共有八个实例Code.exe
。虽然,我可以看到所有八个实例都占用了几KB至最大55 MB的RAM内存。因此,有一件事可以确保这几个进程不会一起消耗太多的内存,但是它们的数量仍然使我迷失了一秒钟。我了解到,一个Visual Studio Code窗口应该映射到一个Code.exe
进程。
我还有一个观察。我打开了Visual Studio Code的另一个新窗口,发现这次的Code.exe
进程数增加了两个,而不是一个。Code.exe
当当前总共有2个Visual Studio Code窗口处于活动状态时,总进程数现在变成10个。我不确定这里发生了什么。有人可以帮助我了解这是否是内部实现Visual Studio Code的正确行为吗?
此行为是设计使然,并记录在Github问题#5856,#8006和#20856中的注释中。
链接中提到的评论摘要
这种行为是由于vscode的设计方式以及基于Chromium / Electron构建的事实所致。从最终用户的角度来看,流程的数量实际上并不重要,重要的是每个流程所做的工作量以及它们之间的通信。
通过设计,我们使用的UI框架本身就是多进程,然后我们有1个扩展程序(每个窗口),一个文件监视程序(每个窗口)和1个搜索程序。我们还有1个共享更新过程。
使用Process Explorer之类的工具,您可以获得有关Process的更多详细信息。只有一个流程code.exe
具有父流程,因为父explorer.exe
流程表示生成其他子流程的主流程。以下是code.exe
使用Tool Process Explorer出现Main属性的屏幕截图。
此外,快速浏览每个子code.exe
进程的命令行参数将提供有关每个进程应该做什么的更多有用信息。例如,子进程之一code.exe
似乎是崩溃的错误报告进程。
"C:\Program Files (x86)\Microsoft VS Code\Code.exe" --reporter-url=https://ticinocrashreporter.azurewebsites.net/crash --application-name=VSCode "--crashes-directory=..\AppData\Local\Temp\VSCode Crashes" --v=1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句