시스템 트레이에서 VsHub.exe를 비활성화하려면 어떻게합니까?


138

Visual Studio 2015를 시작하면 두 가지 다른 실행 파일도 시작됩니다.

VsHub.exe

Microsoft.VsHub.Server.HttpHost.exe

이 두 가지 모두 작업 관리자에서 상당한 공간을 차지합니다.

이 "Visual Studio Hub"옵션을 어떻게 삭제합니까? Visual Studio Hub 기능을 포함하여 Visual Studio 'top-notch'기능을 사용하지 않습니다.


15
글쎄, 실제로 코드 편집 이외의 용도로는 Visual Studio를 사용하지 않습니다. 나는 Unity를 사용하고 컴파일은 내장 컴파일러에 의해 수행되므로 VS에서보고 싶은 것은 멋진 텍스트 편집기입니다. 또한 VS 코드는 Unity에 대한 자동 완성 기능이 없으므로 사용자 정의 테마를 만들 수 없기 때문에 사용하고 싶지 않습니다.
Reda Lahdili

2
@RedaLahdili 무엇을하셨습니까? VS2015를 실행하지 않는 경우에도 두 파일이 모두 실행 중입니다.
prettyvoid

2
당신의 경우는 나의 것보다 더 나빠 보입니다! 불행히도 해결책을 찾지 못했습니다. 그들은 정말로 이것에 대해 무언가를해야합니다. 때로는 VSHub가 VS보다 많은 메모리를 사용합니다. 어 ... 해결책을 찾으면 업데이트 된 사람을 유지하십시오.
Reda Lahdili

1
또 다른 해결책은 다음과 같습니다. stackoverflow.com/questions/31904929/…
oguzh4n

1
Microsoft.VsHub.Server.HttpHostx64.exe는메모리 누수가 종료 나의 창 (10)이 발생합니다. 참조 : connect.microsoft.com/VisualStudio/feedback/details/1610160/...을
올리비에 Jacot-Descombes에게

답변:


131

VS Hub와 그 용도를 밝히려 고 생각했습니다. 저는 Microsoft에서 일합니다.

sraboy가 언급했듯이 VS Hub는 Visual Studio (및 Blend와 같은 다른 VS 셸 기반 제품)가 다중 도구 통신, devenv (VS) 내에서 더 나은 응답 성을 지원하기 위해 사용하는 out-of-proc 서비스 호스트입니다. 특정 서비스가 생성 프로세스의 수명을 넘어 연장 될 수 있도록합니다. 현재 VS Hub에서 호스팅되는 서비스 세트에는 로밍 설정, 진단 툴링에서 렌더링되는 대량의 ETL 데이터 처리, 일부 원격 분석보고 및 확장 자동 업데이트와 같은 다른 답변에서 호출 된 많은 항목이 포함됩니다. 및 알림. 이 서비스 세트는 미래에 크게 증가 할 가능성이 높지만, 현재 해당 서비스가 필요하지 않더라도 향후 추가 서비스가 호스트 될 예정입니다 (즉, vshub를 비활성화하는 것은 큰 망치입니다).

수명 측면에서 devenv.exe가 닫힌 후에 vshub 및 호스트 프로세스 (예 : Microsoft.VsHub.Server.HttpHost (64) .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 Studio 2015가 있습니다. Fiddler4를 열면 localhost / vshub / sameGuidHereOverAndOver에 대한 호출이 1 초에 수백 번 이상 나타납니다. 이것은 완전히 받아 들일 수 없습니다-vshost.exe가 무엇을하고 있다고 생각하는지 모르지만 완전히 사라졌습니다. 프로세스를 죽일 수 있으며 여전히 발생합니다. 2013 년으로 돌아 가야 할 수도 있습니다.
Mario

4
@Mario-당신이 보았 듯이 vshub는 종종 로컬 http 서버로 작동하기 때문에 실행될 때마다 약간의 트래픽 이 보일 것으로 예상 됩니다 (http는 IPC로 작동합니다). 일정 시간 동안 초당 100 번의 요청이 발생하는 것은 분명 버그입니다. % temp % \ VsHub에서 로그를 확인하여 예외가 발생했는지 표시해야하며, 트래픽을 검사하는 방법을 이미 알고 있어야합니다. 가장 좋은 방법은 connect.microsoft.com을 통해이 문제를 문제로보고하는 것입니다. 로그를 수집 할 채널을 제공하고 문제가 해결되었는지 확인하십시오.
Anson Horton

28
다음은 내 컴퓨터에서 imli.com/DKvSNqf 인 "lithe"인 Microsoft.VsHub.Server.HttpHost64.exe입니다. 즉, 1GB의 RAM으로 정점에 도달했습니다. 좋은.
sh1rts

7
@ sh1rts-나는 당신의 좌절을 이해합니다. 위에서 언급 한 "lithe"주석은 vshub.exe를 대상으로합니다. Microsoft.VsHub.Server.HttpHost64.exe는 메모리를 많이 사용하는 일부 서비스 (예 : F5를 사용할 때 시작되는 진단 도구 또는 메모리 또는 UI 응답 성 분석을 명시 적으로 선택한 경우)를 포함하여 다양한 서비스를 실행하는 호스트 프로세스입니다. ). 위에서 언급 한 토글 중 일부를 사용하여 해당 서비스 중 일부를 비활성화하여 도움이되는지 확인할 수 있습니다. 그러나 일반적으로 향후 버전에서 전체 메모리 오버 헤드를 줄이기 위해 노력할 것입니다.
Anson Horton

17
Fiddler에서 수백 개의 / vshub / GUID 요청을 보는 것을 멈추는 방법은 무엇입니까? 디버깅하는 동안 모든 단계에서 피들러에서 10 개 이상의 요청이 표시되고 관심있는 요청이 손실되기 때문에 Visual Studio에서 HTTP 클라이언트를 디버깅하는 것이 불가능합니다 .- (. localhost에서 HTTP 요청을하기위한 통신
Đonny

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가 바로 나타납니다. 여기에 단점이 없습니다.

-남자 이름


단점 :이 파일을 더 이상 수정할 수 없습니다.
harrymc

무슨 뜻인지 모르겠다, harrymc. 좀 더 구체적으로 말씀해 주시겠습니까? 권한 액세스 문제에 대해 이야기하고 있습니까? Microsoft는 때때로 멍키 렌치를 던지지 만 관리자는 여전히 컴퓨터의 모든 파일을 마스터합니다. 그러나 권한의 작동 방식을 이해하면 원하는 작업을 수행 할 수 있습니다. 파일은 결국 컴퓨터에 있습니다. 당신이 당신의 자신의 권한을 제거했다는 것을 의미한다면, 나는 그것을 잘못 말 하였다. 나는 권한을 제거하고 거부 설정을 추가하지 않았다는 것을 의미했습니다. "Disallow"라는 단어를 사용해야했습니다.
NoelC

거부가 설정되면 권한에 다시 액세스하려면 먼저 파일 소유자로 자신을 설정해야합니다.
harrymc

권리. "거부"열의 확인란을 선택하지 마십시오. 대신, 허용 열에서 "읽기 및 실행"을 선택 취소하십시오.
NoelC

2
내 업데이트 후 3 경험을 바탕으로 실행 액세스를 제거하기 위해 vshub.exe에 대한 권한을 변경하는 것만으로 충분합니다.
NoelC

61

Visual Studio Express 2015에서 Windows 7 x64를 사용하고 있습니다. 작업 관리자에서 성가신 프로세스를 종료했습니다. 그런 다음 C : \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub 폴더를 삭제했습니다. 이 작업은 문제를 해결하지만 관리자 권한이 필요합니다.


38
DevTools 팀은 항상이 성가신 헛소리를 백그라운드에서 항상 실행 중지해야하기 때문에 나에게서 찬성. 또한 MS 가이 쓰레기를 제거하는 명확한 방법을 제공하지 않기 때문에 VsHub 폴더를 삭제하라는 조언을 따르십시오.
jerhewet

2
이것은 나를 위해 일했습니다. 폴더를 삭제하고 VsHub가 더 이상 작업 관리자에서 실행되지 않습니다. 이 질문에 대한 해결책으로 이것을 표시하지는 않지만 VsHub를 비활성화하는 더 확실한 방법이 있다고 확신합니다.
Reda Lahdili

18
더 충성 된 솔루션을 찾았습니다. 이름 바꾸기 VsHub의 에 폴더 _VsHub 대신 삭제. 당신이 정말로 무서워하는 경우이 :), 롤백의 장점이있다
xakepp35

4
디버깅하는 동안 CPU의 실시간보기 및 프로세스의 메모리 사용량을 보여주는 진단 도구가 작동하지 않습니다.
Frederik

4
오래된 프로젝트에서 오래된 linq를 SQL 디자이너 파일로 변경하려고 할 때 VsHub 및 HttpHostx64에 문제가 발생했습니다. 디자이너를 열면 VS가 잠기고 응답하지 않습니다. Procmon은 HttpHostx64.exe에서 많은 활동을 보여주었습니다. c : \ Program Files (x86) \ Common Files \ Microsoft Shared \ VsHub \ 폴더의 이름을 "VsHub (bullshit)"로 변경했습니다. linq-to-sql 디자이너가 정상적으로로드됩니다. :)
Nick

30

xakepp35에서 언급했듯이 C : \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub 폴더를 삭제할 수 있습니다. 그러나 업데이트 또는 다른 설치 관리자가 업데이트를 다시 만들려고 할 것입니다.

내가 한 것은 모든 VS 프로세스를 종료하는 것이 었습니다. 폴더의 소유권 (admin으로)을 가져온 다음 폴더를 RAR (ZIP)로 가져 와서 마지막으로 삭제하십시오 (파일을 다시 필요로하는 경우 백업으로 RAR). 광산은 SSD에 있으므로 공간을 절약하고 싶습니다. 그렇지 않으면 단순히 이름을 바꾸고 그대로 둘 수 있습니다.

그런 다음 다시 생성되지 않도록 이전 Win 3.1 트릭을 사용했습니다. 라는 텍스트 파일 만들기 VsHub.txt\ Program 파일 (x 86) \ 공용 Files \ Microsoft 공유 : C 폴더에 저장합니다. 그런 다음 텍스트 파일의 이름을 바꾸고 VsHub 라는 파일을 남기고 .txt 확장자를 제거하십시오 . OS는 같은 위치에 폴더와 같은 이름의 파일을 만들 수 없으므로 poof는 폴더에 액세스 할 수 없으며 폴더에 액세스 할 수 없으며 향후 설치 프로그램 / 업데이트 프로그램도 폴더로 사용할 수 없습니다. 그런 다음 나중에 다시 액세스를 허용해야하는 경우 파일에 .txt를 다시 추가하면 됩니다.


8
이 제안 된 솔루션은 저에게 완벽하게 작동했습니다. Fiddler에서 vshub 요청의 플러드를 제거하고 VS의 전반적인 성능이 크게 향상되었습니다. 마이크로 소프트, 당신이 읽고 있다면 : 더 적을수록-블로 트웨어는 생산성 소프트웨어에서 일어날 수있는 최악의 일입니다.
Shaun

디렉토리 생성을 허용하기 위해 해당 파일을 제거하는 것에 대해 아무도 모르게하기 위해 마우스 오른쪽 버튼 클릭 / 속성 / 보안 탭에서 ACL을 추가하여 모든 사람이 파일에 대한 권한 삭제를 거부하는 것을 막을 수 있습니다. .
dgnuff

나는이 팁을 따랐고 놀라운 속도의 픽업을 얻었습니다. 내 컴퓨터는 디스크 큐에 영향을 받기 때문에 때때로 Visual Studio 시작 화면이 5 분 동안 표시됩니다 (과장 없음). 정말 감사합니다.
S Meaden

22

이것은 @ sraboy의 답변에 따라 비주얼 스튜디오 용 커뮤니케이션 스위스 군용 칼 인 것 같습니다. 디버깅 중에 실행중인 프로세스에 대한 성능 정보를 표시하고 작업중인 프로젝트에 대한 원격 분석을 Microsoft에 전송하는 데 사용됩니다. 비활성화 된 상태에서 코드를 빌드하고 단계별로 볼 수 있습니다 (첫눈에).

AV로 vshub 프로세스 생성을 제거, 이름 변경 또는 차단하면 언급 한 성능 추적이 중단됩니다. Visual Studio 가 vortex.data.microsoft.com과 통신하면서 솔루션 및 프로젝트 GUID와 같은 정보를 계정 ID와 함께 전달 함으로써 Visual Studio를 사용하는 동안 vshub를 잃어 버려 개인 정보 보호 기능이 향상됩니다 . 아래는 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등 요청 을 생략하기 위해

피들러의 vshub 필터


4

Microsoft 프로그램 관리자에 따르면 Visual Studio 블로그 에 대한 Visual Studio 블로그에 대한 의견 VS 제품군에서 다중 도구 통신을 지원하는 데 사용됩니다. Visual Studio가 얼마나 복잡한 지 감안할 때 xakepp35의 답변만큼이나 거친 것을 권장하지는 않습니다 (삭제).

VS2015가 실행되는 Win10 x64에서 디버깅하는 동안 세 가지 프로세스가 있으며 총 RAM 사용량은 총 150MB 미만입니다. 별로 신경 쓰지 않아도되는 최소한의 RAM이있는 머신에서 페이지 스 래싱을하지 않는 한. VS2015를 실행 중이라면 여유 공간이 150MB라고 생각합니다.

허브가 지원하는 것을 명시 적으로 보여주는 문서를 찾을 때까지 또는 그렇지 않은 경우 그대로 두는 것이 좋습니다. 내 경험상 Visual Studio 설치는 깨지기가 너무 쉽습니다.


3
하루의 작업 후에 내 컴퓨터에서이 프로그램은 580MB를 사용합니다. VS2015를 닫은 후에도이 프로그램은 중지되지 않습니다. 나는 이것이 내가 사용하지 않는 기능 (클라우드, udpates)을 지원하는 프로그램에 대해 상당히 많은 RAM이라고 생각합니다.
0xBADF00D

이것은 또한 솔루션의 크기에 의존하는 것 같습니다.
Ed DeGagne

1
문제는 그것이 끝없이 성장한다는 것입니다. 나는 어제 2015 만 설치했으며 오늘 아침 조사 할 7GB의 미스터리가있었습니다. 그냥 바보 야 비활성화 된 진단 도구.
Nick Westgate

3

Visual Studio가 온라인 연결을 시도하는 이유 중 하나는 기본적으로 Visual Studio 및 해당 확장에 대한 업데이트를 온라인에서 검색하는 것 같습니다.

또한 Visual Studio에는 핵심에 Internet Explorer 버전이 포함되어 있으므로 웹 페이지 (및 확장)를 실시간으로 다운로드 할 수 있습니다. 다시 말해, 브라우저뿐만 아니라 우리 모두가 알고 있듯이 Microsoft는 사용자 데이터 및 소프트웨어 사용을 확인하는 데 매우 열심입니다.

도구옵션 메뉴에는 많은 온라인 기능이 있습니다 . (솔직히 말해서, 나는 MonoDevelop 의 결함에도 불구하고 선호합니다 .)


2
최근에 Sublime Text로 전환했는데 VS 속도를 늦출 수 없습니다.
Reda Lahdili

1
Microsoft 툴링은 신이 끔찍하기 때문에 모든 .NET 기반 웹 서비스를 Java로 변환하려고합니다.
호감

2

BrowserLink, 진단 창, Intellitrace에 필요합니다.

때로는 이러한 기능이 필요하지만 8GB의 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과 그 cronies는 일반적으로 다음을 사용합니다.

  • VsHub.exe : 처음에 50MB 2 시간 이상 후 250-350MB
  • Microsoft.VsHub.Server.HttpHost.exe : 처음에는 200MB입니다. 1 시간 이상 후 350 + MB
  • Microsoft.VsHub.Server.HttpHostx64.exe : 처음에는 320MB입니다. 1 시간 이상 후 550 + MB

이렇게하면 기능 손실이 거의없이 1GB의 RAM을 확보 할 수 있습니다.


0

"VsHub"는 "SmartMobileCloud"로 이름이 변경되어야합니다. 그것이 얼마나 멍청한 지. 나는 그것을 버렸다; 내 VisualC 편집 / 디버깅이 손상되지 않았습니다.

VisualStudio를 설치 한 후 사용하지 않는 확장을 제거하고 "C : \ Program Files (x86) \ Common Files \ Microsoft Shared \-Deleted-VsHub"수정 ...을 수행하고 "VsHub"텍스트 파일을 ".TXT"없음 )이므로 폴더를 다시 만들 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.