我的日常工作量要求我拥有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的RAMScriptedSandbox64.exe
-不确定这是什么,但如果我杀死它,它就会一直保持死状态,直到我运行一个构建,然后它会用40MB的RAM保持空闲VBCSCompiler.exe
-我相信这是罗斯林。如果我杀死它,它在构建之前一直处于死状态,那么它就会闲置大约100MB的RAM
问题
- 这些过程都是什么
- 我可以避免运行这些吗
- 当它们不使用时,我可以防止哪些东西存活
- 如何
这篇文章应该能回答你所有的问题。。。
所有这些过程是什么?
conhost.exe
-根据每周conhost.exe
如何实现以下内容:
conhost.exe进程修复了以前版本的Windows处理控制台窗口的方式中的一个基本问题,该问题破坏了拖放;Vista中的drop。
devenv.exe
-根据MSDN:
Devenv允许您从命令行为集成开发环境(IDE)设置各种选项,还可以构建、调试和部署项目。使用这些开关可以从脚本或.bat文件(例如,夜间构建脚本)运行IDE,或者在特定配置中启动IDE。
为什么要使用大量内存?这是一个很大的过程,因为它允许
-
Microsoft.VsHub.Server.HttpHost.exe
&Microsoft.VsHub.Server.HttpHost64.exe
与Devenv相似,您可以在另一篇stackoverflow文章的答案中阅读。 -
msvsmon.exe
-你是对的,它与调试有关,你可以在MSDN上阅读:
远程调试监视器(msvsmon.exe)是Visual Studio连接到的用于远程调试的小型应用程序。在远程调试期间,Visual Studio在一台计算机(调试器主机)上运行,远程调试监视器与正在调试的应用程序一起在远程计算机上运行。
VsHub.exe
与Microsoft.VsHub.Server.HttpHost.exe
&Microsoft.VsHub.Server.HttpHost64.exe
,所以我再次建议你参考我之前在这里提到的帖子。
正如您所说,MSBuild.exe
实际上是构建引擎,对于多个进程,这取决于您正在编译的内容。假设你正在编译一个包含多个项目的解决方案,你可能会看到你所说的内存问题。在这里看这张票。
ScriptedSandbox64.exe
这与可以禁用的调试性能工具有关,请参阅此论坛帖子了解更多信息。此外,正如帖子所述,您可以通过禁用工具->选项->调试下的调试时结束诊断工具复选框来禁用此功能。
VBCSCompiler.exe
-你是对的(关于它是Roslyn),有报道称它使用了大量内存。请参阅此错误报告。
我可以避免运行其中任何一个吗?
我想说不,你可能无法阻止这些程序运行。当然,ScriptedSandbox64.exe
也有例外,但如果你使用内存诊断工具,你甚至无法关闭这个进程。请记住,每个进程都有其用途,如果你拿走一个进程,可能会导致其他问题。
当它们不使用时,我可以阻止哪些东西存活?
如果需要,可以直接退出Visual Studio,启动备份应该不会花很长时间。Visual Studio是一个非常大的应用程序,正如您所发现的那样,它会占用大量内存,因此,如果您没有积极使用它(就像在Skype上一样,它在后台运行),我会关闭它。是的,如果你经常使用它,这会很麻烦,但这比耗尽所有内存要好。
如何?
在不使用Visual Studio时关闭它。