如何禁用系统托盘中的VsHub.exe?

Red*_*ili 138 visual-studio visual-studio-2015

启动Visual Studio 2015还会启动另外两个可执行文件:

VsHub.exe

Microsoft.VsHub.Server.HttpHost.exe

这两个都在任务管理器中占用了相当大的空间.

如何删除此"Visual Studio Hub"选项?我没有使用任何Visual Studio的"顶级"功能,包括Visual Studio Hub功能.

Ans*_*ton 129

我想我会尝试对VS Hub以及它的目的有所了解.我为微软工作.

正如sraboy所提到的,VS Hub是一个外部服务主机,Visual Studio(以及其他基于VS shell的产品,如Blend)使用它来支持多工具通信,在devenv(VS)内提供更好的响应能力,以及使某些服务延长到产卵过程的生命周期.VS Hub中当前托管的服务集包括许多在其他答案中调出的项目,例如漫游设置,处理在诊断工具中呈现的大量ETL数据,一些遥测报告和扩展自动更新和通知.这组服务很有可能在未来增长,所以即使这些服务目前看来都不需要,将来还会在那里托管其他服务(即禁用vshub是一个相当大的锤子.

在生命周期方面,vven和主机进程(即Microsoft.VsHub.Server.HttpHost(64).exe)可以在devenv.exe关闭后继续运行.但是,它们不应该无限期地继续运行.在大多数情况下,这些进程将在基于VS的shell关闭的最后一个实例的约5分钟内终止.因此,如果您有VS运行实例(devenv.exe)和Blend运行实例(blend.exe),并且关闭了devenv.exe,则vshub和关联的主机进程将继续运行.如果您随后关闭blend.exe,则vshub和关联的主机进程仍将运行.然而,在大约5分钟后,这些额外的过程将关闭.如果在该5分钟窗口内启动另一个devenv.exe实例,则vshub和关联的主机进程将不会终止,

在资源方面,vshub.exe进程本身应该总是相对轻盈.如果它变得很大,那么这就是一个bug,我很想知道它,所以我们可以解决它:-)另一方面,主机进程可能会变得非常大,具体取决于托管的服务.特别是,诊断工具通过处理ETL来工作.ETL可能非常非常大,因此主机可能会使用大量资源.诊断团队正在研究减少这种情况的方法,但目前,在不需要时关闭诊断工具窗口应有助于缓解问题.

就在线连接而言,目前当前托管服务集中有三个主要来源(注意,这将随着时间的推移而变化).首先,正如user3345048所提到的,检测和自动更新扩展的服务在该进程中运行.控制该通信的选项位于工具|中 选项| 环境| 扩展和更新(请参阅前两个复选框).其次,漫游设置作为VS Hub中的服务运行.控制此行为的设置位于" 工具"|中 选项| 环境| 同步设置(或者更全面地说,如果您没有登录VS右上角的个性化帐户).最后,VS Hub会报告遥测.通过数据可以显着减少这些数据量帮助| 客户反馈选项| 设置...菜单项.您还可以阅读Microsoft收集的遥测类型以及它在该位置的使用方式.

  • Anson - 我在Windows 7上安装了带有RTM版本1的Visual Studio 2015.如果我打开Fiddler4,我会在localhost/vshub/sameGuidHereOverAndOver中看到数百或更多的调用.这是完全不可接受的 - 我不知道vshost.exe认为它在做什么,但它完全疯了.我可以杀死这个过程但它仍然会发生.可能要回到2013年...... (40认同)
  • 这是我的机器上的"lithe"的Microsoft.VsHub.Server.HttpHost64.exe - http://imgur.com/DKvSNqf - 这是1GB的RAM,它达到了顶峰.尼斯. (28认同)
  • 那么在Fiddler中停止查看数百个/ vshub/GUID请求的方法是什么呢?这使得无法在Visual Studio中调试任何HTTP客户端,因为在调试的每个步骤中我都会看到fiddler中的10个以上的请求以及我感兴趣的请求丢失:-(.除此之外,这是一种严重低效的进程间方式通信在localhost上发出HTTP请求. (17认同)
  • @ sh1rts - 我理解你的沮丧.我上面提到的"轻柔"评论针对的是vshub.exe.Microsoft.VsHub.Server.HttpHost64.exe是运行各种服务的主机进程,包括一些可能非常耗费内存的服务(例如,当您使用F5时启动的诊断工具,或者您明确选择执行内存或ui响应分析).您可以尝试上面提到的一些切换来禁用其中一些服务以查看是否有帮助 - 但通常我们将努力减少未来版本中的总体内存开销. (7认同)
  • @Mario - 正如您所见,vshub经常充当本地http服务器,因此,只要它正在运行(http充当IPC),您就会看到_some_流量.在任何持续的时间段内,每秒100次请求绝对是一个错误.您可以检查%temp%\ VsHub中的日志,该日志应指示是否有任何异常被抛出,显然您已经找到了如何检查流量.最好的办法是通过connect.microsoft.com将此报告为一个问题,因为它会为我们提供一个收集日志的渠道等,并尝试确保它得到修复 (4认同)
  • @AnsonHorton:感谢您花时间了解这一点.我认为如果有一个选择加入选项会很好.你可能会说它的光,但它足够让我注意到.如果我有选择,我会摆脱它. (4认同)
  • 在资源方面,这些过程相对较轻_nunless_ [启用了诊断工具](http://stackoverflow.com/questions/31904929/how-to-disable-diagnostic-tools),在这种情况下,VsHub,HttpHost和devenv一起消耗我坐在那里的大约25%的CPU连接到空闲的winforms应用程序.但关闭它们会修复CPU使用率. (3认同)
  • 仅供参考,自更新2起,它们将无限期地保持运行(直到用户注销).从昨天开始没有运行VS 2015 CE,现在我看到在Microsoft.VsHub.Server.HttpHost.exe,Microsoft.VsHub.Server.HttpHost64.exe和VsHub.exe之间使用了大约1 GB的RAM.您微软的人真的需要在其中放置一个配置选项来阻止VsHub完全在完全本地开发的系统上运行! (3认同)
  • @crush - 你可以在connect.microsoft.com上为Visual Studio打开一个问题吗?这样我们就可以收集踪迹并弄清楚出了什么问题.如果您看到devenv.exe占用了所有CPU(诊断工具的数据集合在另一个进程中运行,并且这些窗口的UI也在名为scriptedsandbox的单独进程中运行),这听起来像是其他事情正在发生.可执行程序). (2认同)
  • @Anson默认情况下需要禁用这些诊断.Fiddler每秒发布数百条消息,并对Visual Studio征税.当我重新安装VS时,我关闭的第一件事就是跟踪和性能测量功能.该功能执行得不好...... (2认同)
  • @AnsonHorton刚刚更新到Update 3,同样的行为仍然存在.我有一个应该24/365运行的应用程序所以我要离开VS一夜之间运行应用程序.不幸的是,我无法调试超过36小时,因为VS VsHub64结束消耗所有可用内存,从而导致整个系统崩溃.此外,稍微超过24小时的调试会在Temp文件夹中产生超过15GB的"东西". (2认同)

Noe*_*elC 82

上面没有提到的东西......

根据我的防火墙日志,VsHub.exe,Microsoft.VsHub.Server.HttpHost.exe和Microsoft.VsHub.Server.HttpHostx64.exe都尝试在线通信.

我看到有地外连接尝试的地址包括191.236.194.164(Microsoft Azure,Wichita Kansas)和23.102.160.172(Microsoft Azure,Redmond Washington).

我意识到"现代"软件应该是云集成的,但......

作为一个不需要任何Microsoft Azure服务器,并且合法地关注隐私而不泄漏我正在处理外部世界的任何部分的人,我真的很喜欢A)有办法选择不运行这些程序,或B)提供设置,以限制他们的在线聊天.是的,防火墙会阻止连接,但这是最后的手段.

只需一个简单的复选框,"[联系Microsoft Azure服务器""会很好.这是否意味着不运行有问题的程序,或者只是让它们不进行在线连接对我来说不是重要的.我想从资源的角度来看,前者会更好,因为它会占用更少的资源.

作为一项规则,我不打算更改已安装的应用程序的文件套件中的文件,但由于我有一个虚拟机环境,我可以在其中测试对Visual Studio 2015的更改而没有太大后果(快照很精彩),我尝试改变这三个文件的权限(删除继承然后禁止读取和执行用户).

Voila,不再运行VsHub应用程序,试图联系远程系统.

Visual Studio出现了.我没有看到这里的缺点.

-Noel

  • 根据我的Update-3体验,只需更改vshub.exe上的权限以删除执行访问权限就足够了. (2认同)

xak*_*p35 61

我在Visual Studio Express 2015中使用Windows 7 x64.我使用任务管理器终止了烦人的进程.然后我删除了C:\ Program Files(x86)\ Common Files\microsoft shared\VsHub文件夹.此操作可解决此问题,但需要管理员权限.

  • Upvote来自我,因为DevTools团队真的需要在后台停止运行所有这些恼人的废话.还遵循删除VsHub文件夹的建议,因为MS不会给我一个干净的方法来卸载这个垃圾. (38认同)
  • 我找到了更忠诚的解决方案.将**VsHub**文件夹重命名为**_ VsHub**,而不是删除.这有一个回滚的优势,如果你真的害怕:) (18认同)
  • 在调试期间,显示进程的CPU和内存使用情况的实时视图的诊断工具不起作用. (4认同)
  • 当我试图在旧项目中将旧的linq更改为sql designer文件时,我遇到了VsHub和HttpHostx64的问题.在打开设计师之后,VS会锁定并且没有响应.Procmon展示了来自HttpHostx64.exe的大量活动.我已将c:\ Program Files(x86)\ Common Files\Microsoft Shared\VsHub \文件夹重命名为"VsHub(废话)".我的linq-to-sql设计器现在正常加载.:) (4认同)
  • 这对我有用,我删除了该文件夹,VsHub不再在任务管理器中运行.虽然我不会将此标记为此问题的解决方案,但我确信有一种更简洁的方法可以禁用VsHub. (2认同)
  • 请注意,删除/重命名文件夹将导致任何相关工具失败.一个这样的例子是在调试时运行的诊断工具. (2认同)

Wol*_*fie 30

正如xakepp35所提到的,您可以删除C:\ Program Files(x86)\ Common Files\microsoft shared\VsHub文件夹.但是,我怀疑更新或其他安装程序可能会尝试重新创建它.

我所做的是关闭所有VS进程.取得文件夹的所有权(作为管理员),然后RAR(ZIP)文件夹,最后删除它(如果我需要文件,RAR作为备份).我在SSD上,所以我想节省空间.否则你可以简单地重命名它并保持原位.

然后,为了防止它再次被创建,我使用了一个旧的Win 3.1技巧.在C:\ Program Files(x86)\ Common Files\microsoft共享文件夹中创建名为VsHub.txt的文本文件.然后重命名文本文件并取下.txt扩展名,留下名为VsHub的文件.由于操作系统无法在同一位置创建文件夹和同名文件,因此它无法作为VS的文件夹及其不可访问的和将来的安装程序/更新程序作为文件夹.然后,如果您将来需要再次允许访问,只需将.txt添加回文件即可.

  • 这个提出的解决方案非常适合我.它消除了Fiddler中大量的vshub请求,并且VS的整体性能得到了显着提升.微软,如果你正在阅读:少即是多 - 膨胀软件是你可以让生产力软件发生的最糟糕的事情. (8认同)

Fre*_*rik 22

根据@ sraboy的回答,这似乎是视觉工作室的瑞士军刀.它在调试期间用于显示有关正在运行的进程的性能信息,但也可以向Microsoft发送有关您正在处理的项目的遥测.您可以禁用它(乍一看)来构建和逐步完成代码.

使用AV删除,重命名或阻止vshub进程创建将破坏我提到的性能跟踪.丢失vshub可在使用Visual Studio 与vortex.data.microsoft.com进行通信时提高隐私性,并传递解决方案和项目GUID等信息以及您的帐户ID.以下是fiddler拦截HTTPS数据的屏幕截图.

阻止网络级别的访问有助于保护隐私,但它无法解决您的资源使用问题.我认为后者是运行Visual Studio的正常开销.

对于您的用例,您可能会使用某种形式的禁用(使用您的防病毒软件阻止实例化可能是最干净的方法),但它可能支持我尚未想到的其他功能.

数据通过vshub传送给Microsoft


Ila*_*lan 8

对于那些想要保留VSHub但仍然可以使用Fiddler的人,您可以使用以下设置在Fiddler中设置过滤器:

Request Headers > Hide if URL contains =
REGEX:localhost:\d+\/vshub\/
Run Code Online (Sandbox Code Playgroud)

编辑 - 你可能也想添加它:

Hosts > Show only the following Hosts: =
localhost;
Run Code Online (Sandbox Code Playgroud)

为了省略vortex.data.microsoft.com等..请求

Fiddler中的vshub过滤器