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


138

启动Visual Studio 2015还会启动其他两个可执行文件:

病毒库

Microsoft.VsHub.Server.HttpHost.exe

两者在任务管理器中都占用相当大的空间。

如何删除此“ Visual Studio Hub”选项?我不使用任何Visual Studio“一流”功能,包括Visual Studio Hub。


15
好吧,除了代码编辑外,我真的不使用Visual Studio。我使用Unity,并且编译是由内置的编译器完成的,所以我想在VS中看到的只是一个花哨的文本编辑器。另外,我不想使用VS Code,因为它缺少Unity的自动完成功能,并且您无法制作自己的自定义主题。
Reda Lahdili

2
@RedaLahdili您最终做了什么?即使我没有运行VS2015,这两个文件都在运行。
prettyvoid 2015年

2
您的情况似乎比我的情况糟!不幸的是,我还没有找到任何解决方案。他们确实需要为此做些事情。有时,VSHUb比VS本身占用更多的内存。ugg ...如果找到任何解决方案,请让我们保持最新状态。
Reda Lahdili


1
Microsoft.VsHub.Server.HttpHostx64.exe发生内存泄漏,导致我的Windows 10关闭。请参阅:connect.microsoft.com/VisualStudio/feedback/details/1610160/...
奥利维尔Jacot-Descombes

Answers:


131

我以为我想对VS Hub及其用途有一些了解。我为Microsoft工作。

正如sraboy所提到的,VS Hub是Visual Studio(以及Blend等其他基于VS Shell的其他产品)用来支持多工具通信,在devenv(VS)内更好地响应以及使某些服务可以延长产卵过程的寿命。VS Hub中当前托管的服务集包括其他答案中提到的许多项目,例如漫游设置,处理诊断工具中呈现的大量ETL数据,一些遥测报告以及扩展自动更新。和通知。但是,将来这组服务很可能会增长,因此即使目前似乎不需要这些服务,将来也将在该处托管其他服务(即,禁用vshub是一个很大的锤子。)

就生存期而言,vshub和主机进程(即Microsoft.VsHub.Server.HttpHost(64).exe)在devenv.exe关闭后可以保持运行。但是,它们不应无限期地运行。在大多数情况下,这些过程将在基于VS的外壳程序关闭的最后一个实例后约5分钟内终止。因此,如果您有一个正在运行的VS实例(devenv.exe)和一个Blend的实例正在运行(blend.exe),并且关闭了devenv.exe,则vshub和关联的主机进程将继续运行。如果然后关闭blend.exe,则vshub和关联的主机进程将仍在运行。从那以后大约5分钟后,这些其他过程将关闭。如果您在5分钟内启动另一个devenv.exe实例,则vshub和关联的主机进程将不会终止,

在资源方面,vshub.exe进程本身应始终保持相对良好的状态。如果它变得很大,那就是一个错误,我很想知道它,因此我们可以修复它:-)另一方面,宿主进程可能会变得非常大,具体取决于所托管的服务。特别是,诊断工具通过处理ETL起作用。ETL可能非常非常大,因此主机可能会使用大量资源。诊断团队正在寻找减少这种情况的方法,但目前,在不需要时关闭诊断工具窗口将有助于减轻问题。

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


40
Anson-我在Windows 7上拥有带有RTM版本1的Visual Studio2015。如果打开Fiddler4,我每秒看到数百次或多次调用localhost / vshub / sameGuidHereOverAndOver。这是完全不能接受的-我不知道vshost.exe认为它在做什么,但是完全疯了。我可以终止该过程,但它仍然会发生。可能要追溯到2013年...
Mario

4
@Mario-如您所见,vshub通常充当本地http服务器,因此,期望它在运行时会看到一些流量(http充当IPC)。在任何持续时间内,每秒100个请求绝对是一个错误。您可以在%temp%\ VsHub中检查日志,该日志应指示是否引发了任何异常,并且显然您已经找到了如何检查流量的方法。最好的办法是通过connect.microsoft.com将其报告为问题,因为它将为我们提供收集日志等信息的渠道,并尝试确保其已解决
Anson Horton 2015年

28
这是Microsoft.VsHub.Server.HttpHost64.exe在我的计算机上“ 轻巧 ”的-imgur.com/DKvSNqf-达到1GB的RAM。真好
sh1rts 2015年

7
@ sh1rts-我了解您的无奈。我在上面所做的“ lithe”注释针对vshub.exe。Microsoft.VsHub.Server.HttpHost64.exe是运行各种服务的主机进程,其中一些服务可能占用大量内存(例如,使用F5时启动的诊断工具,或者明确选择执行内存或ui响应性分析的服务) )。您可以尝试上面提到的某些切换功能,以禁用其中的某些服务,以查看是否有帮助-但是通常,我们将努力减少将来版本中的总体内存开销。
安森·霍顿

17
那么停止在Fiddler中看到数百个/ vshub / GUID请求的方法是什么。这使得无法在Visual Studio中调试任何HTTP客户端,因为在调试的每一步,我都会在提琴手中看到10多个请求,而我感兴趣的请求却丢失了:-(。通信,使本地主机上的HTTP请求。
Đonny

82

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

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

我看到尝试进行传出连接的地址包括191.236.194.164(Microsoft Azure,威奇托堪萨斯州)和23.102.160.172(Microsoft Azure,雷德蒙华盛顿)。

我意识到应该将“现代”软件集成到云中,但是...

作为一个不需要Microsoft Azure服务器提供任何东西的人,并且他确实关心隐私并且不会将我正在研究的任何部分泄漏给外界,我真的很希望A)有一种选择不来运行这些程序,或者B)提供设置以限制其在线聊天。是的,防火墙阻止了连接,但这是不得已的方法。

只需一个简单的复选框,“ []联系Microsoft Azure服务器”就可以了。那是否意味着不运行有问题的程序,或者只是让它们不建立在线连接,这对我来说并不重要。从资源的角度来看,我猜前者会更好,因为它将使用更少的资源。

通常,我不建议更改已安装的应用程序的文件套件中的文件,但是由于我拥有一个虚拟机环境,因此我可以在其中测试Visual Studio 2015的更改而不会产生太大的后果(快照非常棒),因此我尝试了更改这三个文件的权限(删除继承,然后禁止用户读取和执行)。

瞧,不再有正在运行的VsHub应用程序尝试与远程系统联系。

Visual Studio马上出现了。我没有看到不利的一面。

-诺埃尔


缺点:您自己不能再修改这些文件。
harrymc '16

不确定您的意思,harrymc。您能更具体一点吗?您是否在谈论访问权限的问题?作为管理员,您仍然可以控制计算机上的每个文件,尽管Microsoft有时会给您带来麻烦。但是,如果您了解权限的工作原理,则可以执行任何所需的操作。这些文件毕竟在您的计算机上。如果您是说您已经删除了自己的权限,那么我的措辞很差。我的意思是我删除了权限,没有添加“拒绝”设置。我应该使用“ Disallow”一词。
NoelC '16

设置拒绝后,要重新访问权限,必须首先将自己设置为文件的所有者。
harrymc '16

对。不要选中“拒绝”列中的复选框。而是取消选中“允许”列下的“读取并执行”。
NoelC '16

2
根据我在Update 3之后的经验,仅更改vshub.exe的权限以删除执行访问权限就足够了。
NoelC '16

61

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


38
不赞成我,因为DevTools团队确实确实需要一直在后台停止所有这些烦人的废话。还要遵循删除VsHub文件夹的建议,因为MS不会给我一种干净的方法来卸载此废话。
jerhewet

2
这对我有用,我删除了该文件夹,并且VsHub在任务管理器中不再运行。尽管我不会将其标记为该问题的解决方案,但是我敢肯定有一种更干净的方法来禁用VsHub。
Reda Lahdili

18
我找到了更忠诚的解决方案。将VsHub文件夹重命名为_VsHub,而不是删除。如果您真的很害怕,这具有回滚的优势:)
xakepp35

4
在调试期间,无法实时显示正在使用的进程的CPU和内存使用情况的诊断工具。
Frederik 2015年

4
当我尝试在旧项目中将旧的linq更改为sql设计器文件时,我遇到了VsHub和HttpHostx64的麻烦。打开设计器后,VS会锁定并且没有响应。Procmon从HttpHostx64.exe显示了很多活动。我已将c:\ Program Files(x86)\ Common Files \ Microsoft Shared \ VsHub \文件夹重命名为“ VsHub(bullshit)”。我的linq-to-sql设计器现在正常加载。:)
尼克

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的文件。由于操作系统无法在同一位置创建文件夹和相同名称的文件,因此po不能被VS用作文件夹,也不能用作文件夹以及以后的安装程序/更新程序。然后,如果您以后需要再次允许访问,只需将.txt重新添加到文件中就可以了。


8
提出的解决方案对我来说非常有效。它消除了Fiddler中大量的vshub请求,并且VS的整体性能得到了显着改善。微软,如果您正在阅读:少即是多-bloatware是生产力软件最糟糕的事情。
肖恩

只是为了确保没有人对删除该文件以允许创建目录有任何狂放的想法,您可以从右键单击/ properties / security选项卡中向其添加一个ACL,该操作除了拒绝所有人删除该文件的权限外没有其他作用。
dgnuff '16

我遵循了这个技巧,获得了令人难以置信的速度提升。我的计算机容易受到磁盘排队的影响,这有时意味着Visual Studio初始屏幕在那里显示了5分钟(毫不夸张)。非常感谢。
S Meaden

22

根据@sraboy的回答,这似乎是视觉工作室的瑞士军刀。它在调试期间用于显示有关正在运行的过程的性能信息,还可以将有关您正在处理的项目的遥测信息发送给Microsoft。您可以在禁用它的情况下构建并逐步完善代码(乍一看)。

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

在网络级别阻止访问有助于保护隐私,但不能解决您的资源使用问题。我将后者视为运行Visual Studio的正常开销。

对于您的用例,您可能可以通过某种形式的禁用来摆脱(使用防病毒软件阻止实例化可能是最干净的方法),但它可能支持我尚未发现的其他功能。

数据通过vshub传达给Microsoft


8

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

Request Headers > Hide if URL contains =
REGEX:localhost:\d+\/vshub\/

编辑-您可能也想添加此内容:

Hosts > Show only the following Hosts: =
localhost;

为了省略vortex.data.microsoft.com等。要求

Fiddler中的vshub过滤器


4

根据Microsoft Program Manager在Visual Studio Blog上发表的评论,它用于支持VS套件中的多工具通信。鉴于Visual Studio的复杂程度,我不建议您使用xakepp35的答案(删除它)这样苛刻的建议。

在运行VS2015的Win10 x64上,在调试时,有三个进程,总RAM占用总量不到150MB。除非您在内存最少的机器上进行页面刷新,否则不必担心。鉴于您正在运行VS2015,我想您还有150MB的可用空间。

除非您找到明确显示集线器支持什么的文档,否则,建议您不要使用它。以我的经验,Visual Studio安装非常容易中断。


3
经过一天的工作,在我的计算机上,该程序需要580MB。即使关闭了VS2015,此程序也不会停止。我认为对于支持我不使用的功能(云,udpates)的程序来说,这是相当多的RAM。
0xBADF00D 2015年

这似乎也取决于解决方案的大小。
Ed DeGagne

1
好吧,问题在于它只是无限增长。我昨天才安装2015年,今天早上有一个7GB的谜团需要调查。真傻 禁用的诊断工具。
尼克·韦斯特盖特

3

Visual Studio尝试联机连接的原因之一似乎还在于,默认情况下,联机搜索Visual Studio及其扩展名的更新。

此外,Visual Studio在其核心中包括Internet Explorer的一个版本,因此可以实时下载网页(和扩展名)。换句话说,它也可以充当浏览器,众所周知,... Microsoft非常热衷于检查用户数据和软件使用情况。

菜单工具选项中有很多在线功能。(说实话,即使有缺陷,我还是更喜欢MonoDevelop。)


2
我最近切换到Sublime Text,无法跟上VS减慢机器速度的步伐。
Reda Lahdili

1
我们将所有基于.NET的Web服务都转换为Java,因为Microsoft工具太糟糕了。
暗恋

2

浏览器链接,“诊断”窗口,Intellitrace需要它。

有时我需要这些功能,但只有8 GB的RAM。我通常使用率是90-95%,因此我创建了一个批处理文件,通过重命名文件夹并创建到包含虚文件的空文件夹的符号链接来打开和关闭VSHub。

运行之前关闭Visual Studio。

@echo off
goto CheckVsHubRunning

:KillVsHub
    echo Killing VsHub Process
    taskkill /IM VsHub.exe /T /F
    TIMEOUT /T 3 /NOBREAK
:CheckVsHubRunning
    ver > nul
    tasklist /FI "IMAGENAME eq VsHub.exe" | find /I /N "VsHub.exe"
    if "%ERRORLEVEL%"=="0" goto KillVsHub
    if "%ERRORLEVEL%"=="1" echo VsHub is not running.
    echo.

PUSHD "C:\Program Files (x86)\Common Files\microsoft shared"
    IF NOT EXIST "VsHub.original" (
        echo Renaming Original VsHub folder.
        RENAME "VsHub" "VsHub.original"
    )
    IF NOT EXIST "VsHub.dummy" (
        echo Creating Dummy Folder and Contents
        mkdir       "VsHub.dummy"
        copy NUL >  "VsHub.dummy\1.0.0.0"
        copy NUL >  "VsHub.dummy\ServiceModules"
        mkdir       "VsHub.dummy\dummy"
    )

    IF EXIST "VsHub\dummy" (
        echo ENABLING VsHub
        echo.
        rmdir       VsHub
        mklink /d   VsHub   VsHub.original

    ) ELSE (
        echo DISABLING VsHub
        echo.
        rmdir       VsHub
        mklink /d   VsHub   VsHub.dummy
    )
echo.
pause

在我的计算机上,VSHub及其亲朋好友通常使用:

  • VsHub.exe:最初为50 MB。2小时以上后250-350 MB
  • Microsoft.VsHub.Server.HttpHost.exe:最初为200 MB。1+小时后350 + MB
  • Microsoft.VsHub.Server.HttpHostx64.exe:最初为320 MB。1+小时后550 + MB

这样可以释放超过1 GB的RAM,几乎不会丢失任何功能。


0

“ VsHub”应重命名为“ SmartMobileCloud”;那是多么愚蠢的趋势。我把它丢了;我的VisualC编辑/调试没有受到损害。

安装Visual Studio后,删除未使用的扩展名,执行“ C:\ Program Files(x86)\ Common Files \ Microsoft Shared \-Deleted-VsHub”修复程序,然后在其中放置“ VsHub”文本文件(不包括“ .TXT” ),因此无法重新创建该文件夹。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.