web-dev-qa-db-fra.com

Comment désactiver VsHub.exe dans la barre d'état système?

Le démarrage de Visual Studio 2015 lance également deux autres exécutables:

VsHub.exe

et

Microsoft.VsHub.Server.HttpHost.exe

Les deux prennent une place considérable dans le gestionnaire de tâches.

Comment puis-je supprimer cette option "Visual Studio Hub"? Je n'utilise aucune des fonctionnalités "haut de gamme" de Visual Studio, y compris celle de Visual Studio Hub.

137
Reda Lahdili

Je pensais que je tenterais de faire la lumière sur le VS Hub et sur ce à quoi il était destiné. Je travaille pour Microsoft.

Comme le mentionne sraboy, le VS Hub est un hôte de services hors processus utilisé par Visual Studio (et d'autres produits basés sur VS Shell tels que Blend) afin de prendre en charge la communication multi-outils, une meilleure réactivité au sein de devenv (VS), et permettre à certains services de s’étendre au-delà de la durée du processus de ponte. L'ensemble de services actuellement hébergés dans le VS Hub comprend de nombreux éléments rappelés dans les autres réponses, tels que les paramètres d'itinérance, le traitement de grandes quantités de données ETL restituées dans l'outil de diagnostic, certains rapports de télémétrie et la mise à jour automatique des extensions. et notifications. Cependant, même si aucun de ces services ne semble nécessaire à l’heure actuelle, des services supplémentaires y seront hébergés à l’avenir (c’est-à-dire que c’est un très gros marteau pour désactiver vshub.exe via la recommandation de renommer :-).

En termes de durée de vie, les processus vshub et hôte (Microsoft.VsHub.Server.HttpHost (64) .exe) peuvent rester en cours d'exécution après la fermeture de devenv.exe. Cependant, ils ne devraient pas continuer à fonctionner indéfiniment. Dans la plupart des cas, ces processus se termineront environ 5 minutes après la dernière instance d'une fermeture de shell basée sur un système virtuel. Ainsi, si vous avez une instance de VS en cours d'exécution (devenv.exe) et une instance de Blend en cours d'exécution (blend.exe), et que vous arrêtez devenv.exe, vshub et les processus hôtes associés continueront de s'exécuter. Si vous fermez ensuite blend.exe, vshub et le processus hôte associé seront toujours en cours d'exécution. Cependant, au bout de 5 minutes environ, ces processus supplémentaires s’arrêteront. Si vous démarrez une autre instance de devenv.exe dans cette fenêtre de 5 minutes, vshub et les processus hôtes associés ne se termineront pas et continueront à s'exécuter (en gros, les processus hôtes se terminent lorsqu'elles ne reçoivent aucune demande dans les 5 minutes, et après. tous les processus hôtes se terminent, le processus vshub.exe se termine lui-même).

En termes de ressources, le processus vshub.exe lui-même devrait toujours être relativement souple. Si cela devient un peu volumineux, alors il s’agit d’un bogue et j’aimerais bien le savoir afin que nous puissions le résoudre :-) Par contre, les processus de l’hôte peuvent devenir très volumineux en fonction du service hébergé. En particulier, l’outil de diagnostic fonctionne en traitant ETL. Les ETL peuvent être très, très volumineux et, en tant que tels, l'hôte peut utiliser beaucoup de ressources. L’équipe de diagnostics cherche des moyens de réduire ce problème, mais pour le moment, le fait de fermer la fenêtre de l’outil de diagnostic quand vous n’en avez pas besoin devrait contribuer à atténuer le problème.

En termes de connectivité en ligne, il existe actuellement trois sources principales dans l'ensemble actuel de services hébergés (remarque, cela changera avec le temps). Tout d’abord, comme le mentionne user3345048, le service qui détecte et met à jour automatiquement les extensions s’exécute au cours de ce processus. Les options qui contrôlent cette communication sont dans Outils | Options | Environnement | Extensions et mises à jour (voir les deux premières cases à cocher). Deuxièmement, les paramètres d'itinérance sont exécutés en tant que service dans le VS Hub. Le paramètre qui contrôle ce comportement est Outils | Options | Environnement | Paramètres synchronisés (ou plus globalement, si vous ne vous connectez pas au compte de personnalisation dans le coin supérieur droit de VS). Enfin, le hub VS signale la télémétrie. Le volume de ces données peut être considérablement réduit via l’élément de menu Aide | Options de rétroaction client | Paramètres…. Vous pouvez également en savoir plus sur le type de télémétrie collectée par Microsoft et sur son utilisation à cet endroit.

129
Anson Horton

Quelque chose que personne n'a mentionné ci-dessus ...

Selon mon journal de pare-feu, VsHub.exe, Microsoft.VsHub.Server.HttpHost.exe et Microsoft.VsHub.Server.HttpHostx64.exe essaient tous de communiquer en ligne.

Les adresses auxquelles j'ai assisté et auxquelles il y avait eu des tentatives de connexion sortantes incluaient 191.236.194.164 (Microsoft Azure, Wichita Kansas) et 23.102.160.172 (Microsoft Azure, Redmond Washington).

Je réalise que les logiciels "modernes" sont supposés être intégrés au cloud, mais ...

En tant que personne qui n’a besoin de rien des serveurs Microsoft Azure et qui est légitimement préoccupée par la confidentialité et ne lâche aucune partie de son travail sur le monde extérieur, j’aimerais vraiment que A) ait le moyen de choisir pour exécuter ces programmes, ou B) disposer des paramètres pour limiter leur chat en ligne. Oui, le pare-feu bloque les connexions, mais c'est un dernier recours.

Une simple case à cocher, "[] Contacter les serveurs Microsoft Azure" serait agréable. Que cela signifie ne pas exécuter les programmes en question ou simplement les empêcher d'établir les connexions en ligne n'a pas d'importance pour moi. Je suppose que du point de vue des ressources, le premier serait meilleur car il utiliserait moins de ressources.

En règle générale, je ne propose pas de modifier les fichiers dans la suite de fichiers d'une application installée, mais comme je dispose d'un environnement de machine virtuelle au sein duquel je peux tester les modifications apportées à Visual Studio 2015 sans trop de conséquences (les instantanés sont fantastiques), j'ai essayé de modifier les autorisations (pour supprimer l'héritage puis interdire la lecture et l'exécution pour les utilisateurs) sur ces trois fichiers.

Voilà, plus d'applications VsHub en cours d'exécution, essayant de contacter des systèmes distants.

Visual Studio arrive tout droit. Je ne vois pas d'inconvénient ici.

-Noel

81
NoelC

J'utilise Windows 7 x64 avec Visual Studio Express 2015. J'ai mis fin aux processus gênants avec le gestionnaire de tâches. Ensuite, j'ai supprimé le dossier C:\Program Files (x86)\Common Files\Microsoft shared\VsHub. Cette opération résout le problème, mais nécessite des droits d'administrateur.

59
xakepp35

Comme xakepp35 l'a mentionné, vous pouvez supprimer le dossier C:\Program Files (x86)\Common Files\Microsoft shared\VsHub . Cependant, je suspecte que les mises à jour ou d’autres installateurs essaieront probablement de le recréer.

Ce que j'ai fait a été fermé tous les processus VS. Prenez possession du dossier (en tant qu'administrateur), puis RAR (Zip) et supprimez-le enfin (RAR comme sauvegarde si j'ai besoin de récupérer les fichiers). Le mien est sur un SSD, donc je veux économiser de l'espace. Sinon, vous pouvez simplement le renommer et le laisser en place.

Ensuite, pour empêcher sa création, j’utilisais une vieille astuce Win 3.1. Créez un fichier texte nommé VsHub.txt dans le dossier C:\Program Files (x86)\Common Files\Microsoft . Puis renommez le fichier texte et enlevez l’extension . Txt en laissant un fichier nommé VsHub. Étant donné que le système d'exploitation ne peut pas créer un dossier et un fichier du même nom au même emplacement, poof, il est inaccessible en tant que dossier pour VS et ses installateurs/programmes de mise à jour inaccessibles et futurs sous forme de dossier. Ensuite, si vous devez autoriser un nouvel accès ultérieurement, ajoutez simplement le . Txt sur le fichier et partez.

30
Wolfie

Cela semble être un couteau suisse de communication pour visual studio, comme le dit la réponse de @ sraboy. Il est utilisé lors du débogage pour afficher des informations sur les performances du processus en cours, mais également pour envoyer une télémétrie à Microsoft concernant le projet sur lequel vous travaillez. Vous pouvez construire et parcourir le code sans problème avec sa désactivation (à première vue).

Supprimer, renommer ou bloquer la création de processus vshub avec AV rompra le traçage des performances que j'ai mentionné. La perte de vshub améliore la confidentialité lorsque vous utilisez Visual Studio car il communique avec vortex.data.Microsoft.com, en transmettant des informations telles que les GUID de solution et de projet ainsi que votre identifiant de compte. Ci-dessous, une capture d'écran de Fiddler interceptant les données HTTPS.

Le blocage de l'accès au niveau du réseau contribue à la confidentialité, mais il ne résoudra pas le problème d'utilisation des ressources. Je considérerais ce dernier comme une surcharge normale de l'exécution de Visual Studio.

Pour votre cas d'utilisation, vous pouvez probablement vous en sortir avec une forme de désactivation (le blocage de l'instanciation avec votre logiciel antivirus est probablement l'approche la plus propre), mais il peut prendre en charge des fonctionnalités supplémentaires que je n'ai pas encore découvertes.

Data communicated to Microsoft, via vshub

22
Frederik

Pour ceux d'entre vous qui souhaitent préserver VSHub tout en pouvant utiliser Fiddler, vous pouvez configurer un filtre dans Fiddler avec les paramètres suivants:

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

EDIT - vous voudrez probablement ajouter ceci aussi:

Hosts > Show only the following Hosts: =
localhost;

pour omettre les demandes vortex.data.Microsoft.com etc ..

vshub filter in Fiddler

8
Ilan

Selon un responsable de programme Microsoft ayant commenté le blog Visual Studio commentant le blog Visual Studio , il est utilisé pour prendre en charge la communication multi-outils dans la suite VS. Compte tenu de la complexité de Visual Studio, je ne recommanderais rien de plus sévère que la réponse de xakepp35 (le supprimer).

Sur mon Win10 x64 avec VS2015 en cours d'exécution, lors du débogage, il y a trois processus et l'utilisation totale de RAM est inférieure à 150 Mo au total. Sauf si vous fouillez les pages sur une machine avec un minimum de RAM, il n'y a pas de quoi s'inquiéter. Étant donné que vous utilisez VS2015, je suppose que vous avez 150 Mo à revendre.

Tant que la documentation n'indique pas explicitement ce que le hub prend en charge, je vous recommande de la laisser. D'après mon expérience, les installations de Visual Studio sont beaucoup trop faciles à interrompre.

4
sraboy

L'une des raisons pour lesquelles Visual Studio tente de se connecter en ligne semble également que, par défaut, recherche en ligne des mises à jour pour Visual Studio et ses extensions.

En outre, Visual Studio inclut une version d'Internet Explorer dans son noyau afin de pouvoir télécharger en direct la page Web (et son extension). En d'autres termes, il agit également comme un navigateur et, comme nous le savons tous, Microsoft tient beaucoup à vérifier les données de ses utilisateurs et l'utilisation de ses logiciels.

Il y a de nombreuses fonctions en ligne dans le menu Outils Options . (Pour être honnête, je préfère MonoDevelop même avec ses défauts.)

3
user3345048

Il est nécessaire pour BrowserLink, la fenêtre de diagnostic, Intellitrace.

J'ai parfois besoin de ces fonctionnalités, mais je n'ai que 8 Go de RAM. Mon taux d'utilisation est généralement de 90 à 95%. J'ai donc créé un fichier de commandes pour activer/désactiver VSHub en renommant le dossier et en créant un lien symbolique vers un dossier vide contenant des fichiers factices.

Arrêtez Visual Studio avant de l'exécuter.

@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

Sur ma machine, VSHub et ses acolytes utilisent généralement:

  • VsHub.exe: 50 Mo initialement. 250-350 Mo après 2+ heures
  • Microsoft.VsHub.Server.HttpHost.exe: 200 Mo initialement. 350 + MB après 1+ heures
  • Microsoft.VsHub.Server.HttpHostx64.exe: 320 Mo initialement. 550 + MB après 1+ heures

Cela libère plus de 1 Go de RAM avec pratiquement aucune fonctionnalité perdue.

2
Derek Ziemba

"VsHub" doit être renommé "SmartMobileCloud"; c'est stupide comme ça, c'est. Je l'ai largué; mon édition/débogage VisualC n'a pas été endommagé.

Après avoir installé VisualStudio, supprimez les extensions non utilisées, effectuez le correctif "C:\Program Files (x86)\Fichiers communs\Microsoft Shared\- Supprimé - VsHub" ... et placez-y un fichier texte "VsHub" (pas de ".TXT" ), donc rien ne peut recréer le dossier.

0
Jeff Relf