启动Visual Studio 2015还会启动其他两个可执行文件:
病毒库
和
Microsoft.VsHub.Server.HttpHost.exe
两者在任务管理器中都占用相当大的空间。
如何删除此“ Visual Studio Hub”选项?我不使用任何Visual Studio“一流”功能,包括Visual Studio Hub。
启动Visual Studio 2015还会启动其他两个可执行文件:
病毒库
和
Microsoft.VsHub.Server.HttpHost.exe
两者在任务管理器中都占用相当大的空间。
如何删除此“ Visual Studio Hub”选项?我不使用任何Visual Studio“一流”功能,包括Visual Studio Hub。
Answers:
我以为我想对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收集的遥测类型及其在该位置的使用方式。
上面没有人提到的东西...
根据我的防火墙日志,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马上出现了。我没有看到不利的一面。
-诺埃尔
我将Windows 7 x64与Visual Studio Express 2015一起使用。我已终止了任务管理器的烦人过程。然后,我删除了C:\ Program Files(x86)\ Common Files \ microsoft shared \ VsHub文件夹。此操作解决了问题,但需要管理员权限。
如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重新添加到文件中就可以了。
根据@sraboy的回答,这似乎是视觉工作室的瑞士军刀。它在调试期间用于显示有关正在运行的过程的性能信息,还可以将有关您正在处理的项目的遥测信息发送给Microsoft。您可以在禁用它的情况下构建并逐步完善代码(乍一看)。
用AV删除,重命名或阻止创建vshub进程将破坏我提到的性能跟踪。丢失vshub可以在使用Visual Studio 与vortex.data.microsoft.com进行通信时提高隐私性,并传递诸如解决方案和项目GUID之类的信息以及您的帐户ID。下面是提琴手截取HTTPS数据的屏幕截图。
在网络级别阻止访问有助于保护隐私,但不能解决您的资源使用问题。我将后者视为运行Visual Studio的正常开销。
对于您的用例,您可能可以通过某种形式的禁用来摆脱(使用防病毒软件阻止实例化可能是最干净的方法),但它可能支持我尚未发现的其他功能。
根据Microsoft Program Manager在Visual Studio Blog上发表的评论,它用于支持VS套件中的多工具通信。鉴于Visual Studio的复杂程度,我不建议您使用xakepp35的答案(删除它)这样苛刻的建议。
在运行VS2015的Win10 x64上,在调试时,有三个进程,总RAM占用总量不到150MB。除非您在内存最少的机器上进行页面刷新,否则不必担心。鉴于您正在运行VS2015,我想您还有150MB的可用空间。
除非您找到明确显示集线器支持什么的文档,否则,建议您不要使用它。以我的经验,Visual Studio安装非常容易中断。
Visual Studio尝试联机连接的原因之一似乎还在于,默认情况下,联机搜索Visual Studio及其扩展名的更新。
此外,Visual Studio在其核心中包括Internet Explorer的一个版本,因此可以实时下载网页(和扩展名)。换句话说,它也可以充当浏览器,众所周知,... Microsoft非常热衷于检查用户数据和软件使用情况。
菜单工具 → 选项中有很多在线功能。(说实话,即使有缺陷,我还是更喜欢MonoDevelop。)
浏览器链接,“诊断”窗口,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及其亲朋好友通常使用:
这样可以释放超过1 GB的RAM,几乎不会丢失任何功能。