任务管理器中针对单个应用程序窗口的Visual Studio代码的多个实例或过程

彩铃

我正在使用Visual Studio Code。我在计算机上遇到性能问题。我去了任务管理器,发现Code.exe在进程选项卡中有多个实例,即使我的PC上只有一个正在运行/活动的Visual Studio Code窗口也是如此。

进程选项卡中的多个Visual Studio Code exe实例

我可以看到,总共有八个实例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的正确行为吗?

Abhinav galodha

此行为是设计使然并记录在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任务管理器中的多个应用程序

在单个页面应用程序中动态加载Google跟踪代码管理器环境

简单的C#WinForm应用程序显示在Visual Studio中具有3个线程。任务管理器显示14-16个线程。为什么?

如何从Visual Studio应用程序打开“文件资源管理器”窗口并设置位置和大小?

C#-在任务管理器中打开应用程序作为第二个过程

简单的C ++程序在多个实例中启动,任务管理器无法将其关闭

Visual Studio 2010 C#-将已保存的文件从文件资源管理器加载到应用程序中

打开多个任务管理器实例

具有多个模式/数据库的 spring-boot 应用程序中的实体管理器错误

如何获得任务管理器中显示的活动窗口应用程序名称

如何从Visual Studio中的程序包管理器控制台针对SQL Azure调用更新数据库?

在任务管理器中显示应用程序

如何为UWP应用程序集成Google跟踪代码管理器

Facebook无代码事件-iOS应用程序未连接到事件管理器

多个项目,单个程序集版本管理器

在Visual Studio中的程序包管理器控制台上更新多个程序包

多个窗口管理器

创建应用程序实例(在服务结构集群资源管理器中)忽略本地计算机上的实例数

Eclipse在“包资源管理器”中显示了android应用程序的错误,但在代码中的任何位置均未发现错误

多个应用程序,单个代码库

Visual Studio任务运行程序资源管理器-ReferenceError:未定义原始字符串

使用同一应用程序代码管理具有多个数据源和实体管理器的事务

任务管理器中的多个chrome.exe进程

在没有网络的情况下首次运行应用程序时,Google跟踪代码管理器无法从默认容器文件中获取所有值

任务基础:任务与应用程序的多个实例

Visual Studio 2015中的程序包管理器“ 407(需要代理身份验证)”

Visual Studio '17 未在引用管理器中显示程序集

如何删除单个应用程序的窗口管理器,或者在没有窗口管理的情况下打开它?

如何从Visual Studio将应用程序的多个实例发布到Service Fabric群集?