我的日常工作量要求我拥有Outlook,Excel,Firefox& IE(适用于与所有浏览器不兼容的不同网络应用程序),Skype以及其他几乎一直运行的程序。所有这些程序都是无情的内存/线程生成,其中一些是32位版本,这使事情变得更糟。
除此之外,我还经常使用VS2015,它会产生背景过程,就像没有明天一样。
以下是任务管理器中当前列出的与VS2015相关的流程:
conhost.exe
- 其中的几个实例始终在运行。如果我杀了这些,两个总会回来,但他们不会消耗大量资源devenv.exe
- 我知道这是主要的IDE进程,但为什么它在700MB RAM和45个线程上空闲。Microsoft.VsHub.Server.HttpHost.exe
和Microsoft.VsHub.Server.HttpHost64.exe
- 不知道这些是做什么的,他们每个平均需要大约100MB RAM和几十个线程空闲。如果我杀了他们,他们会回来。msvsmon.exe
- 基于它的位置与调试器有关,但是为什么它在我没有处于调试模式时运行?如果我杀了它,我会收到一条错误消息,它会立即返回。VsHub.exe
- 不确定它是什么,也不是太耗费资源。如果我杀了它,需要两个" Microsfot.VsHub ..."用它来处理,但它们都会在一分钟后回来。MSBuild.exe
- 我知道这是构建引擎。当我运行构建时,最多有4个进程启动并且它们保持活动状态,每块大约40MB的RAM闲置。ScriptedSandbox64.exe
- 不确定这是什么,但我杀了它它会一直停止,直到我运行构建,然后它继续闲置40MB的RAM。VBCSCompiler.exe
- 我相信这是罗斯琳。如果我杀了它,它会一直存在,直到我构建,然后它会闲置大约100MB的RAM。答案 0 :(得分:14)
这篇文章应该回答你所有的问题...
这些过程是什么?
conhost.exe
- 根据howtogeek conhost.exe
达到以下条件:conhost.exe进程修复了以前版本的Windows处理控制台窗口的方式中的一个基本问题,这打破了拖拽和放大在Vista中下降。
devenv.exe
- 根据MSDN:Devenv允许您为集成开发环境(IDE)设置各种选项,还可以从命令行构建,调试和部署项目。使用这些开关从脚本或.bat文件运行IDE,例如,每晚构建脚本,或以特定配置启动IDE。
为什么它会占用大量内存?这是一个很大的过程,因为它允许
Microsoft.VsHub.Server.HttpHost.exe
& Microsoft.VsHub.Server.HttpHost64.exe
与Devenv类似,您可以在另一个stackoverflow回复here中阅读它。
msvsmon.exe
- 你是对的,它与调试有关,你可以在MSDN上阅读:
远程调试监视器(msvsmon.exe)是Visual Studio连接到远程调试的小应用程序。在远程调试期间,Visual Studio在一台计算机(调试器主机)上运行,远程调试监视器与您正在调试的应用程序一起在远程计算机上运行。
VsHub.exe
与Microsoft.VsHub.Server.HttpHost.exe
& Microsoft.VsHub.Server.HttpHost64.exe
所以我再次建议你参考我在here之前提到的帖子。
MSBuild.exe
如你所说,确实是构建引擎,对于多个进程,取决于你正在编译的内容。假设您正在编译包含该解决方案中包含的多个项目的解决方案,您可以看到您所说的内存问题。查看此票证here。
ScriptedSandbox64.exe
这与可以禁用的调试性能工具有关,请参阅this论坛帖子了解更多信息。另外,如帖子所述,您可以通过在 TOOLS->选项 - >调试下禁用调试时的结束诊断工具复选框来禁用此功能。
VBCSCompiler.exe
- 你是对的(关于它是Roslyn),有报道称它使用了大量的内存。请参阅this错误报告。
我可以避免运行这些吗?
我会说不,你可能无法阻止这些运行。当然有ScriptedSandbox64.exe
的例外,但是如果你使用内存诊断工具,那么你甚至无法关闭此过程。请记住,每个流程都有它的目的,如果你拿走一个流程,它可能会导致其他问题。
我可以防止它们在不使用时保持活力吗?
如果您希望退出Visual Studio,则开始备份不需要很长时间。 Visual Studio是一个非常大的应用程序,因为您发现使用了大量内存,因此如果您不主动使用它,我会关闭它(就像您在Skype上并且它在后台运行一样)。是的,如果你经常使用它会很麻烦,但它比用完所有记忆要好。
如何?
不使用时关闭Visual Studio。