Visual Studio 2015를 시작하면 두 가지 다른 실행 파일도 시작됩니다.
VsHub.exe
과
Microsoft.VsHub.Server.HttpHost.exe
이 두 가지 모두 작업 관리자에서 상당한 공간을 차지합니다.
이 "Visual Studio Hub"옵션을 어떻게 삭제합니까? Visual Studio Hub 기능을 포함하여 Visual Studio 'top-notch'기능을 사용하지 않습니다.
Visual Studio 2015를 시작하면 두 가지 다른 실행 파일도 시작됩니다.
VsHub.exe
과
Microsoft.VsHub.Server.HttpHost.exe
이 두 가지 모두 작업 관리자에서 상당한 공간을 차지합니다.
이 "Visual Studio Hub"옵션을 어떻게 삭제합니까? Visual Studio Hub 기능을 포함하여 Visual Studio 'top-notch'기능을 사용하지 않습니다.
답변:
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가 수집하는 원격 측정의 종류와 해당 위치에서 사용되는 방법에 대해서도 읽을 수 있습니다.
위에서 언급하지 않은 것 ...
내 방화벽 로그에 따르면 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가 바로 나타납니다. 여기에 단점이 없습니다.
-남자 이름
Visual Studio Express 2015에서 Windows 7 x64를 사용하고 있습니다. 작업 관리자에서 성가신 프로세스를 종료했습니다. 그런 다음 C : \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub 폴더를 삭제했습니다. 이 작업은 문제를 해결하지만 관리자 권한이 필요합니다.
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를 다시 추가하면 됩니다.
이것은 @ sraboy의 답변에 따라 비주얼 스튜디오 용 커뮤니케이션 스위스 군용 칼 인 것 같습니다. 디버깅 중에 실행중인 프로세스에 대한 성능 정보를 표시하고 작업중인 프로젝트에 대한 원격 분석을 Microsoft에 전송하는 데 사용됩니다. 비활성화 된 상태에서 코드를 빌드하고 단계별로 볼 수 있습니다 (첫눈에).
AV로 vshub 프로세스 생성을 제거, 이름 변경 또는 차단하면 언급 한 성능 추적이 중단됩니다. Visual Studio 가 vortex.data.microsoft.com과 통신하면서 솔루션 및 프로젝트 GUID와 같은 정보를 계정 ID와 함께 전달 함으로써 Visual Studio를 사용하는 동안 vshub를 잃어 버려 개인 정보 보호 기능이 향상됩니다 . 아래는 HTTPS 데이터를 가로채는 피들러의 스크린 샷입니다.
네트워크 수준에서 액세스를 차단하면 개인 정보 보호에 도움이되지만 리소스 사용 문제는 해결되지 않습니다. 후자는 Visual Studio를 실행하는 일반적인 오버 헤드로 간주합니다.
유스 케이스의 경우 일종의 비활성화 (바이러스 백신 소프트웨어로 인스턴스화를 차단하는 것이 가장 깨끗한 접근법 일 수 있음)를 피할 수는 있지만 아직 파악하지 못한 추가 기능을 지원할 수 있습니다.
Microsoft 프로그램 관리자에 따르면 Visual Studio 블로그 에 대한 Visual Studio 블로그에 대한 의견 VS 제품군에서 다중 도구 통신을 지원하는 데 사용됩니다. Visual Studio가 얼마나 복잡한 지 감안할 때 xakepp35의 답변만큼이나 거친 것을 권장하지는 않습니다 (삭제).
VS2015가 실행되는 Win10 x64에서 디버깅하는 동안 세 가지 프로세스가 있으며 총 RAM 사용량은 총 150MB 미만입니다. 별로 신경 쓰지 않아도되는 최소한의 RAM이있는 머신에서 페이지 스 래싱을하지 않는 한. VS2015를 실행 중이라면 여유 공간이 150MB라고 생각합니다.
허브가 지원하는 것을 명시 적으로 보여주는 문서를 찾을 때까지 또는 그렇지 않은 경우 그대로 두는 것이 좋습니다. 내 경험상 Visual Studio 설치는 깨지기가 너무 쉽습니다.
Visual Studio가 온라인 연결을 시도하는 이유 중 하나는 기본적으로 Visual Studio 및 해당 확장에 대한 업데이트를 온라인에서 검색하는 것 같습니다.
또한 Visual Studio에는 핵심에 Internet Explorer 버전이 포함되어 있으므로 웹 페이지 (및 확장)를 실시간으로 다운로드 할 수 있습니다. 다시 말해, 브라우저뿐만 아니라 우리 모두가 알고 있듯이 Microsoft는 사용자 데이터 및 소프트웨어 사용을 확인하는 데 매우 열심입니다.
도구 → 옵션 메뉴에는 많은 온라인 기능이 있습니다 . (솔직히 말해서, 나는 MonoDevelop 의 결함에도 불구하고 선호합니다 .)
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는 일반적으로 다음을 사용합니다.
이렇게하면 기능 손실이 거의없이 1GB의 RAM을 확보 할 수 있습니다.