Como desabilito o VsHub.exe na bandeja do sistema?


138

O início do Visual Studio 2015 também lança outros dois executáveis:

VsHub.exe

e

Microsoft.VsHub.Server.HttpHost.exe

Ambos ocupam um espaço considerável no gerenciador de tarefas.

Como posso excluir esta opção "Visual Studio Hub"? Não uso nenhum dos recursos de primeira linha do Visual Studio, incluindo o do Visual Studio Hub.


15
Bem, eu realmente não uso o Visual Studio para algo que não seja a edição de código. Eu uso o Unity e a compilação é feita pelo compilador interno, então tudo que eu quero ver no VS é um editor de texto sofisticado. Além disso, não quero usar o VS Code, pois falta o preenchimento automático para o Unity e você não pode criar seus próprios temas personalizados.
Reda Lahdili 17/07/2015

2
@RedaLahdili O que você acabou fazendo? Ambos os arquivos estão em execução, mesmo quando não estou executando o VS2015.
prettyvoid

2
Seu caso parece pior que o meu! Infelizmente não encontrei nenhuma solução. Eles realmente precisam fazer algo sobre isso. Às vezes, o VSHub ocupa mais memória que o próprio VS. uggh ... Mantenha-nos atualizados, se você encontrar alguma solução.
Reda Lahdili


1
O Microsoft.VsHub.Server.HttpHostx64.exe tem um vazamento de memória que faz com que o Windows 10 seja desligado. Consulte: connect.microsoft.com/VisualStudio/feedback/details/1610160/…
Olivier Jacot-Descombes

Respostas:


131

Pensei em tentar lançar alguma luz sobre o VS Hub e para que serve. Eu trabalho para a Microsoft.

Como o sraboy menciona, o VS Hub é um host de serviços fora de processo que o Visual Studio (e outros produtos baseados em shell do VS, como o Blend) usam para oferecer suporte a comunicação com várias ferramentas, melhor capacidade de resposta no devenv (VS) e permitir que certos serviços ultrapassem a vida útil do processo de desova. O conjunto de serviços atualmente hospedado no VS Hub inclui muitos dos itens citados nas outras respostas, como configurações de roaming, processamento de grandes faixas de dados ETL que são renderizados nas ferramentas de diagnóstico, alguns relatórios de telemetria e atualização automática de extensão e notificações. É provável que esse conjunto de serviços aumente no futuro, portanto, mesmo que nenhum desses serviços pareça necessário no momento, serviços adicionais serão hospedados lá no futuro (ou seja, é um grande martelo desabilitar o vshub.

Em termos de duração, os processos vshub e host (por exemplo, Microsoft.VsHub.Server.HttpHost (64) .exe) podem permanecer em execução após o fechamento do devenv.exe. No entanto, eles não devem continuar funcionando indefinidamente. Na maioria dos casos, esses processos terminam dentro de ~ 5 minutos da última instância de um fechamento de shell baseado em VS. Portanto, se você tiver uma instância do VS em execução (devenv.exe) e uma instância do Blend em execução (blend.exe) e desligar o devenv.exe, o vshub e os processos de host associados continuarão em execução. Se você desligar o blend.exe, o vshub e o processo do host associado ainda estarão em execução. Após cerca de 5 minutos a partir de então, esses processos adicionais serão encerrados. Se você iniciar outra instância do devenv.exe dentro dessa janela de 5 minutos, o vshub e os processos do host associado não serão encerrados,

Em termos de recursos, o próprio processo vshub.exe sempre deve ser relativamente flexível. Se algum dia ficar grande, isso é um bug e eu adoraria saber sobre isso para que possamos corrigi-lo :-) Os processos do host, por outro lado, podem ficar muito grandes, dependendo do serviço que está sendo hospedado. Em particular, as ferramentas de diagnóstico funcionam processando o ETL. O ETL pode ser muito, muito, grande e, como tal, o host pode usar muitos recursos. A equipe de diagnóstico está procurando maneiras de reduzir isso, mas, por enquanto, fechar a janela da ferramenta de diagnóstico quando você não precisar dela deve ajudar a atenuar o problema.

Em termos de conectividade online, há três fontes principais no conjunto atual de serviços hospedados no momento (observe que isso mudará com o tempo). Primeiro, como menciona o usuário3345048, o serviço que detecta e atualiza automaticamente as extensões é executado nesse processo. As opções que controlam essa comunicação estão na Ajuda | Opções de comentários do cliente | Configurações ... item de menu. Você também pode ler sobre o tipo de telemetria que a Microsoft coleta e como é usada nesse local. Ferramentas | Opções | Ambiente | Extensões e atualizações (veja as duas primeiras caixas de seleção). Segundo, as configurações de roaming são executadas como um serviço no VS Hub. A configuração que controla esse comportamento está na Ferramentas | Opções | Ambiente | Configurações sincronizadas (ou mais holisticamente, se você não fizer login na conta de personalização no canto superior direito do VS). Finalmente, o VS Hub relata telemetria. O volume desses dados pode ser reduzido significativamente através do


40
Anson - Eu tenho o Visual Studio 2015 com a versão 1 do RTM no Windows 7. Se eu abrir o Fiddler4, vejo centenas ou mais chamadas por segundo para localhost / vshub / sameGuidHereOverAndOver. Isso é completamente inaceitável - não sei o que o vshost.exe pensa que está fazendo, mas ficou completamente louco. Eu posso matar o processo e ainda acontece. Pode ter que voltar a 2013 ...
Mario

4
@ Mario - como você viu, o vshub geralmente atua como um servidor http local, portanto, é esperado que você veja algum tráfego sempre que estiver em execução (o http está atuando como IPC). Centenas de solicitações por segundo por qualquer período prolongado de tempo é definitivamente um bug. Você pode verificar os logs em% temp% \ VsHub, que devem indicar se há alguma exceção sendo lançada e, obviamente, você já descobriu como inspecionar o tráfego. A melhor coisa a fazer seria relatar isso como um problema por meio connect.microsoft.com uma vez que nos dará um canal para recolher os registos e tal e tentar se certificar de que fica fixo
Anson Horton

28
Aqui está o Microsoft.VsHub.Server.HttpHost64.exe sendo "ágil" na minha máquina - imgur.com/DKvSNqf - com 1 GB de RAM. Agradável.
Sh1rts

7
@ sh1rts - eu entendo sua frustração. O comentário "ágil" que fiz acima foi direcionado ao vshub.exe. O Microsoft.VsHub.Server.HttpHost64.exe é o processo host que executa vários serviços, incluindo alguns que podem consumir muita memória (por exemplo, as ferramentas de diagnóstico iniciadas quando você usa o F5 ou se você optar por fazer explicitamente a análise de memória ou interface do usuário) ) Você pode tentar algumas das opções mencionadas acima para desativar alguns desses serviços para ver se isso ajuda - mas geralmente trabalharemos para reduzir a sobrecarga geral de memória em versões futuras.
Anson Horton

17
Então, qual é a maneira de parar de ver centenas de solicitações / vshub / GUID no Fiddler. Isso está impossibilitando a depuração de qualquer cliente HTTP no Visual Studio, pois para cada etapa da depuração, vejo mais de 10 solicitações no violinista e a solicitação na qual estou interessado é perdida :-(. Além disso, é uma maneira seriamente ineficiente de inter-processo comunicação para fazer solicitações HTTP no host local.
nyonny

82

Algo que ninguém mencionou acima ...

De acordo com o meu log de firewall, VsHub.exe, Microsoft.VsHub.Server.HttpHost.exe e Microsoft.VsHub.Server.HttpHostx64.exe tentam se comunicar online .

Os endereços que vi nos quais houve tentativas de conexão de saída incluíram 191.236.194.164 (Microsoft Azure, Wichita Kansas) e 23.102.160.172 (Microsoft Azure, Redmond Washington).

Sei que um software "moderno" deve ser integrado à nuvem, mas ...

Como alguém que não exige nada dos servidores do Microsoft Azure, e que está legitimamente preocupado com a privacidade e não está vazando nenhuma parte do que estou trabalhando para o mundo exterior, eu realmente gostaria que A) tivesse uma maneira de escolher não para executar esses programas, ou B) receba configurações para limitar suas chats online. Sim, o firewall bloqueia as conexões, mas esse é o último recurso.

Apenas uma caixa de seleção simples, "[] Entre em contato com os servidores do Microsoft Azure" seria legal. Se isso significaria não executar os programas em questão ou apenas tê-los a não fazer as conexões on-line, não é importante para mim. Eu acho que, do ponto de vista dos recursos, o primeiro seria melhor, pois usaria menos recursos.

Como regra, eu não proporia alterar os arquivos no conjunto de arquivos de um aplicativo instalado, mas como tenho um ambiente de máquina virtual no qual posso testar as alterações no Visual Studio 2015 sem muitas consequências (os instantâneos são maravilhosos), tentei alterar as permissões (para remover a herança e não permitir a Leitura e execução para usuários) nesses três arquivos.

Voila, não há mais aplicativos VsHub em execução, tentando entrar em contato com sistemas remotos.

O Visual Studio aparece. Não estou vendo uma desvantagem aqui.

-Noel


Desvantagem: você mesmo não pode mais modificar esses arquivos.
harrymc

Não sei o que você quer dizer, harrymc. Você pode por gentileza ser mais específico? Você está falando de problemas ao acessar as permissões? Como administrador, você ainda domina todos os arquivos do seu computador, embora a Microsoft às vezes use chaves de macaco. Mas se você entender como as permissões funcionam, poderá fazer o que quiser. Os arquivos estão no SEU computador, afinal. Se você quer dizer que removeu suas próprias permissões, eu escrevi muito mal. Eu quis dizer que eu removi as permissões, não adicionei uma configuração Negar. Eu deveria ter usado a palavra "Proibir".
precisa saber é

Depois que a negação é definida, para acessar novamente as permissões, é necessário primeiro definir-se como proprietário dos arquivos.
harrymc

Certo. NÃO marque uma caixa na coluna "Negar". Em vez disso, desmarque "Ler e executar" na coluna Permitir.
NoelC

2
Com base na minha experiência pós-atualização 3, basta alterar as permissões no vshub.exe para remover o acesso à execução.
21916 NoelC

61

Estou usando o Windows 7 x64 com o Visual Studio Express 2015. Finalizei processos irritantes com o Gerenciador de tarefas. Em seguida, excluí a pasta C: \ Arquivos de programas (x86) \ Arquivos comuns \ Microsoft shared \ VsHub . Esta operação resolve o problema, mas requer direitos de administrador.


38
Voto positivo de mim, porque a equipe do DevTools realmente precisa parar de executar toda essa besteira irritante em segundo plano o tempo todo. Também seguindo os conselhos para excluir a pasta VsHub porque a Microsoft não me dará uma maneira limpa de desinstalar essa porcaria.
precisa saber é

2
Isso funcionou para mim, excluí essa pasta e o VsHub não é mais executado no gerenciador de tarefas. Embora eu não sinalize isso como solução para esta pergunta, tenho certeza de que há uma maneira mais limpa de desativar o VsHub.
Reda Lahdili 30/08/2015

18
Encontrei uma solução mais leal. Renomeie a pasta VsHub para _VsHub , em vez de excluir. Isto tem uma vantagem de volta rolando, se você estiver realmente com medo :)
xakepp35

4
Durante a depuração, as ferramentas de diagnóstico que mostram uma exibição ao vivo do uso da CPU e da memória do processo não funcionam.
Frederik

4
Eu tive problemas com o VsHub e o HttpHostx64 quando estava tentando alterar um arquivo de designer linq para sql antigo em um projeto antigo. Depois de abrir o designer, o VS trava e não responde. Procmon mostrou muita atividade do HttpHostx64.exe. Renomeei a pasta c: \ Arquivos de programas (x86) \ Arquivos comuns \ Microsoft Shared \ VsHub \ para "VsHub (besteira)". Meu designer de linq para sql agora é carregado normalmente. :)
Nick

30

Como o xakepp35 mencionado, você pode excluir o arquivo C: \ Arquivos de programas (x86) \ Common Files \ microsoft shared \ VsHub pasta . No entanto, suspeito que as atualizações ou outros instaladores provavelmente tentarão recriá-lo.

O que eu fiz foi desligar todos os processos do VS. Tome posse da pasta (como administrador) e, em seguida, RAR (ZIP) na pasta e, finalmente, exclua-a (RAR como backup, se eu precisar dos arquivos de volta). O meu está em um SSD, então eu quero economizar espaço. Caso contrário, você pode simplesmente renomeá-lo e deixá-lo no lugar.

Então, para impedir que ele seja criado novamente, usei um truque antigo do Windows 3.1. Crie um arquivo de texto chamado VsHub.txt na pasta compartilhada C: \ Arquivos de Programas (x86) \ Common Files \ microsoft . Renomeie o arquivo de texto e retire a extensão .txt deixando um arquivo chamado VsHub . Como o sistema operacional não pode criar uma pasta e um arquivo com o mesmo nome no mesmo local, poof, é inacessível como uma pasta para o VS e seus instaladores / atualizadores inacessíveis e futuros como uma pasta também. Então, se você precisar permitir acesso novamente no futuro, basta adicionar o arquivo .txt novamente ao arquivo e pronto.


8
Esta solução proposta funcionou perfeitamente para mim. Ele eliminou o fluxo de solicitações de vshub no Fiddler e o desempenho geral do VS é substancialmente aprimorado. Microsoft, se você estiver lendo: menos é mais - bloatware é a pior coisa que você pode deixar acontecer com o software de produtividade.
Shaun

Apenas para garantir que ninguém tenha idéias interessantes sobre a remoção desse arquivo para permitir a criação do diretório, você pode adicionar uma ACL a ele na guia clique com o botão direito do mouse / properties / security, que nada mais faz do que negar que todos excluam privilégios no arquivo .
dgnuff

Segui essa dica e recebi uma incrível velocidade. Meu computador é suscetível a enfileiramento de disco, o que às vezes significa que a tela inicial do Visual Studio fica lá por 5 minutos (sem exageros). Muito obrigado por isso.
S Meaden

22

Este parece ser um canivete suíço de comunicação para o estúdio visual, de acordo com a resposta de @ sraboy. Ele é usado durante a depuração para exibir informações de desempenho sobre o processo em execução, mas também para enviar telemetria à Microsoft sobre o projeto em que você está trabalhando. Você pode criar e percorrer o código com ele desativado (à primeira vista).

Remover, renomear ou bloquear a criação do processo vshub com o AV interromperá o rastreamento de desempenho que mencionei. A perda do vshub melhora a privacidade ao usar o Visual Studio, pois ele se comunica com o vortex.data.microsoft.com, transmitindo informações como GUIDs de solução e projeto, juntamente com o ID da sua conta. Abaixo está uma captura de tela do violinista que intercepta os dados HTTPS.

O bloqueio do acesso no nível da rede ajuda na privacidade, mas não soluciona o problema de uso de recursos. Eu consideraria o último como uma sobrecarga normal da execução do Visual Studio.

Para o seu caso de uso, você provavelmente pode se livrar de alguma forma de desabilitação (bloquear a instanciação com seu software antivírus é provavelmente a abordagem mais limpa), mas pode oferecer suporte a funcionalidades adicionais que ainda não descobri.

Dados comunicados à Microsoft, via vshub


8

Para aqueles que desejam preservar o VSHub e ainda podem usar o Fiddler, você pode configurar um Filtro no Fiddler com a seguinte configuração:

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

EDIT - você provavelmente deseja adicionar também:

Hosts > Show only the following Hosts: =
localhost;

para omitir vortex.data.microsoft.cometc. solicitações

filtro vshub no Fiddler


4

De acordo com um gerente de programa da Microsoft comentando no blog do Visual Studio comentando no blog do Visual Studio , ele é usado para oferecer suporte à comunicação de várias ferramentas no conjunto VS. Dado o quão complicado é o Visual Studio, eu não recomendaria nada tão duro quanto a resposta do xakepp35 (excluindo-a).

No meu Win10 x64 com o VS2015 em execução, durante a depuração, há três processos e o uso total de RAM é inferior a 150 MB no total. A menos que você esteja debochando de uma página com uma memória RAM mínima, não há muito o que se preocupar. Como você está executando o VS2015, acho que você tem 150 MB de sobra.

Até ou a menos que você encontre documentação mostrando explicitamente o que o Hub oferece suporte, recomendo que seja assim. Na minha experiência, as instalações do Visual Studio são fáceis demais de serem interrompidas.


3
Na minha máquina, após um dia de trabalho, esse programa leva 580 MB. Mesmo depois de fechar o VS2015, este programa não para. Eu acho que isso é bastante RAM para um programa que suporta recursos (nuvem, atualizações) que eu não uso.
0xBADF00D

Isso também parece depender do tamanho da sua solução também.
Ed DeGagne

1
Bem, o problema é que apenas cresce sem limites. Eu instalei apenas 2015 ontem e esta manhã tinha um mistério de 7 GB para investigar. Apenas bobo. Ferramentas de diagnóstico desativadas.
Nick Westgate

3

Um dos motivos pelos quais o Visual Studio tenta se conectar online também parece que, por padrão, pesquisa online por atualizações para o Visual Studio e suas extensões.

Além disso, o Visual Studio inclui uma versão do Internet Explorer em seu núcleo para que a página (e a extensão) possam ser baixadas ao vivo. Em outras palavras, ele funciona como um navegador e, como todos sabemos ... A Microsoft está bastante interessada em verificar os dados de seus usuários e usar o software.

Existem muitas funções online no menu FerramentasOpções . (Para ser sincero, prefiro o MonoDevelop, mesmo com suas falhas.)


2
Recentemente, mudei para o Sublime Text, não consigo acompanhar o VS diminuindo a velocidade da minha máquina.
Reda Lahdili

1
Estamos prestes a converter todos os nossos serviços web baseados em .NET em Java, porque as ferramentas da Microsoft são péssimas.
esmagar

2

É necessário para o BrowserLink, a janela Diagnostics, Intellitrace.

Às vezes, preciso desses recursos, mas tenho apenas 8 GB de RAM. Normalmente, uso 90-95%, então criei um arquivo em lotes para ativar e desativar o VSHub renomeando a pasta e criando um link simbólico para uma pasta vazia com arquivos fictícios.

Encerre o Visual Studio antes de executar.

@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

Na minha máquina, o VSHub e seus companheiros geralmente usam:

  • VsHub.exe: 50 MB inicialmente. 250-350 MB após mais de 2 horas
  • Microsoft.VsHub.Server.HttpHost.exe: 200 MB inicialmente. 350 + MB após mais de uma hora
  • Microsoft.VsHub.Server.HttpHostx64.exe: 320 MB inicialmente. 550 + MB após mais de uma hora

Isso libera mais de 1 GB de RAM com quase nenhuma funcionalidade perdida.


0

"VsHub" deve ser renomeado para "SmartMobileCloud"; é assim que é estúpido. Eu joguei fora; minha edição / depuração do VisualC não foi prejudicada.

Após instalar o VisualStudio, remova extensões não usadas, execute a correção "C: \ Arquivos de programas (x86) \ Arquivos comuns \ Microsoft compartilhados \ - Excluídos - VsHub" ... e coloque um arquivo de texto "VsHub" (sem ".TXT" ), para que nada possa recriar a pasta.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.