Як відключити VsHub.exe в системному треї?


138

Запуск Visual Studio 2015 також запускає два інші виконувані файли:

VsHub.exe

і

Microsoft.VsHub.Server.HttpHost.exe

Обидва вони займають значне місце у менеджері завдань.

Як я можу видалити цю опцію "Visual Studio Hub"? Я не використовую жодних "першокласних" функцій Visual Studio, в тому числі і Visual Studio Hub.


15
Ну, я дійсно не використовую Visual Studio для чогось іншого, крім редагування коду. Я використовую Unity, а компіляцію здійснює вбудований компілятор, тому все, що я хочу бачити в VS, - це фантазійний текстовий редактор. Крім того, я не хочу використовувати VS-код, оскільки йому не вистачає автоматичного заповнення для Unity, і ви не можете створити власні власні теми.
Reda Lahdili

2
@RedaLahdili Що ти в кінцевому підсумку робив? Обидва файли працюють, навіть коли я не запускаю VS2015.
prettyvoid

2
Ваша справа здається гіршою, ніж моя! Я, на жаль, не знайшов жодного рішення. Їм справді потрібно щось з цим зробити. Іноді VSHub займає більше пам'яті, ніж сам VS. uggh ... Тримайте нас в курсі хлопців, якщо ви знайдете рішення.
Reda Lahdili


1
Microsoft.VsHub.Server.HttpHostx64.exe має витік пам’яті, через що мої Windows 10 вимикаються. Дивіться: connect.microsoft.com/VisualStudio/feedback/details/1610160/…
Олів'є Якот-Декомб

Відповіді:


131

Я думав, що спробую пролити трохи світла на VS Hub і для чого він призначений. Я працюю в Microsoft.

Як згадує sraboy, VS Hub - це непрофесійний хост сервісів, який Visual Studio (та інші продукти на основі оболонок VS, такі як Blend) використовують для підтримки багатокористувацької комунікації, кращої реакції в межах devenv (VS) та дають змогу певним службам продовжити термін дії нересту. Набір служб, що зараз розміщуються в VS Hub, включає багато елементів, викликаних в інших відповідях, таких як параметри роумінгу, обробка великих контурів даних ETL, що надаються в інструментах діагностики, деякі телеметричні звіти та автоматичне оновлення розширення. та сповіщення. Цей набір послуг, швидше за все, зростатиме в майбутньому, тому навіть якщо жодна з цих послуг не здається потрібною на даний момент, додаткові сервіси будуть розміщені там у майбутньому (тобто це досить великий молоток, щоб відключити vshub.

З точки зору життя, процеси vshub і хост (тобто Microsoft.VsHub.Server.HttpHost (64) .exe) можуть залишатися запущеними після закриття devenv.exe. Однак вони не повинні продовжувати працювати нескінченно. У більшості випадків ці процеси закінчуються протягом ~ 5 хвилин після останнього примірника закриття оболонки на основі VS. Отже, якщо у вас є екземпляр запущеного VS (devenv.exe) та екземпляр запуску Blend (blend.exe), і ви вимкнете devenv.exe, vshub і пов'язані з ним хост-процеси продовжуватимуть працювати. Якщо потім вимкнути blend.exe, vshub і пов'язаний з ним хост процес все одно будуть запущені. Приблизно через 5 хвилин після цього ці додаткові процеси припиняться. Якщо запустити інший екземпляр devenv.exe протягом цього 5-хвилинного вікна, тоді vshub і пов'язані з ним хост-процеси не припиняться,

Сам процес vshub.exe завжди має відношення до ресурсів. Якщо вона коли-небудь стає великою, то це помилка, і я хотів би дізнатися про це, щоб ми могли її виправити :-) Хост-процеси, з іншого боку, можуть бути дуже великими залежно від розміщеної послуги. Зокрема, інструмент для діагностики працює за допомогою обробки ETL. ETL може бути дуже, дуже, великим, і, таким чином, хост може використовувати багато ресурсів. Команда діагностики розглядає способи її усунення, але на даний момент закриття вікна діагностичного інструменту, коли воно вам не потрібно, повинно допомогти усунути проблему.

Що стосується підключення до Інтернету, то в поточному наборі розміщених сервісів на даний момент є три основні джерела (зауважте, це з часом зміниться). По-перше, як згадує user3345048, у цьому процесі працює служба, яка виявляє та автоматично оновлює розширення. Параметри, які керують цим спілкуванням, знаходяться в Інструментах | Параметри | Довкілля | Розширення та оновлення (див. Перші два прапорці). По-друге, налаштування роумінгу працює як послуга у VS Hub. Параметр, що контролює цю поведінку, знаходиться в Інструментах | Параметри | Довкілля | Синхронізовані налаштування (або більш цілісно, ​​якщо ви не входите в обліковий запис персоналізації у верхньому правому куті VS). Нарешті, VS Hub робить звіт про телеметрію. Обсяг цих даних може бути значно зменшений за допомогоюДовідка | Параметри відгуків клієнтів | Налаштування… пункт меню. Ви також можете прочитати про тип телеметрії, яку збирає Microsoft, і як вона використовується в цьому місці.


40
Anson - у мене є Visual Studio 2015 з випуском RTM 1 для Windows 7. Якщо я відкрию Fiddler4, я бачу сотні і більше дзвінків на секунду до localhost / vshub / sameGuidHereOverAndOver. Це абсолютно неприпустимо - я не знаю, що думає, що це vshost.exe, але це зовсім зріло. Я можу вбити процес, і це все ще відбувається. Можливо, доведеться повернутися до 2013 року ...
Маріо

4
@Mario - як ви бачили, vshub часто діє як локальний сервер http, тому очікується, що ви побачите деякий трафік кожного разу, коли він працює (http виступає як IPC). 100 запитів в секунду протягом будь-якого тривалого періоду часу, безумовно, є помилкою. Ви можете перевірити журнали в% temp% \ VsHub, які повинні вказувати, чи є якісь винятки, що викидаються, і очевидно, ви вже зрозуміли, як перевірити трафік. Найкраще зробити це, щоб повідомити про це як про проблему через connect.microsoft.com, оскільки він дасть нам канал для збору журналів і подібного, і спробувати переконатися, що він виправляється
Anson Horton

28
Ось Microsoft.VsHub.Server.HttpHost64.exe на моїй машині " lhete" - imgur.com/DKvSNqf - це 1 Гб оперативної пам’яті, на якому він досяг максимуму. Приємно.
sh1rts

7
@ sh1rts - я розумію ваше розчарування. Коментар, який я зробив вище, був націлений на vshub.exe. Microsoft.VsHub.Server.HttpHost64.exe - це хост-процес, який запускає різні сервіси, включаючи деякі, які можуть бути дуже пам'ятними (наприклад, діагностичний інструмент, який запускається при використанні F5, або якщо ви явно вирішите зробити аналіз пам'яті чи інтерфейсу користувача) ). Ви можете спробувати деякі перемикачі, про які я згадував вище, щоб відключити деякі з цих служб, щоб побачити, чи це допомагає - але загалом ми будемо працювати над тим, щоб зменшити загальну витрату на пам'ять у майбутніх версіях.
Ансон Хортон

17
Отже, який спосіб зупинити бачення сотень запитів / vshub / GUID у Fiddler. Це робить неможливим налагодження будь-якого HTTP-клієнта у Visual Studio, тому що за кожен крок під час налагодження я бачу 10+ запитів у fiddler, а запит, який мене цікавить, втрачається :-(. Крім того, це серйозно неефективний спосіб взаємодії зв'язку , щоб зробити HTTP запити на локальному хості.
Djonny

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, Редмонд Вашингтон).

Я розумію, що "сучасне" програмне забезпечення повинно бути інтегрованим у хмару, але ...

Оскільки той, хто нічого не вимагає від серверів Microsoft Azure, і який законно переймається конфіденційністю і не пропускає жодної частини того, над чим я працюю, до зовнішнього світу, я б дуже хотів, щоб A) мав спосіб вибрати не для запуску цих програм або B) матимуть налаштування для обмеження їх чатовості в Інтернеті. Так, брандмауер блокує з'єднання, але це в крайньому випадку.

Просто простий прапорець "[] Зв'язатися з серверами Microsoft Azure" було б непогано. Чи це означатиме, що не запускають програми, про які йдеться, або просто не матимуть їх підключення до Інтернету, для мене не є наслідком. Я думаю, що з точки зору ресурсу колишнє було б краще, оскільки використовувало б менше ресурсів.

Як правило, я б не пропонував міняти файли в наборі файлів встановленого додатка, але оскільки у мене є віртуальне машинне середовище, в якому я можу перевірити зміни до Visual Studio 2015 без особливих наслідків (знімки чудові), я спробував змінити дозволи (щоб видалити спадщину, а потім заборонити читати та виконувати для користувачів) цих трьох файлів.

Voila, більше не запущених програм VsHub, намагаючись зв’язатися з віддаленими системами.

Visual Studio підходить відразу. Я не бачу тут недоліків.

-Ноель


Знизу: Ви самі не можете більше змінювати ці файли.
harrymc

Не впевнений, що ти маєш на увазі, Harrymc. Чи можете ви бути більш конкретними? Ви говорите про проблеми з доступом до дозволів? Як адміністратор, ви все ще керуєте кожним файлом на вашому комп’ютері, хоча Microsoft іноді кидає мавпочки. Але якщо ви розумієте, як працюють дозволи, ви можете робити все, що завгодно. Зрештою, файли є на ВАШому комп’ютері Якщо ви маєте на увазі, що ви видалили власні дозволи, я це погано висловив. Я мав на увазі, що я ВИДАЛИ дозволи, не додав налаштування Заборонити. Я повинен був вживати слово "Заборонити".
NoelC

Після встановлення заборони для повторного доступу до дозволів спочатку потрібно встановити себе як власника файлів.
harrymc

Правильно. НЕ встановіть прапорець у стовпці "Заборонити". Скоріше, UNCHECK "Читати та виконувати" у стовпці Дозволити.
NoelC

2
Виходячи з мого досвіду після оновлення 3, достатньо лише змінити дозволи на vshub.exe для видалення доступу для виконання.
NoelC

61

Я використовую Windows 7 x64 з Visual Studio Express 2015. Я припинив дратівливі процеси з диспетчером завдань. Потім я видалив папку C: \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub . Ця операція вирішує проблему, але вимагає прав адміністратора.


38
Підсумуйте мене, тому що команді DevTools дійсно потрібно припиняти весь цей роздратований фігня на задньому плані. Також дотримуйтесь поради щодо видалення папки VsHub, оскільки MS не дасть мені чистого способу видалити це лайно.
jerhewet

2
Це працювало для мене, я видалив цю папку, і VsHub більше не працює в диспетчері завдань. Хоча я не позначаю це як рішення цього питання, я впевнений, що існує більш чистий спосіб відключити VsHub.
Reda Lahdili

18
Я знайшов більш лояльне рішення. Перейменуйте папку VsHub в _VsHub , замість видалення. Це має перевагу
відкотитися

4
Під час налагодження діагностичні інструменти, які показують прямий вигляд використання процесора та пам'яті процесу, який не працює.
Фредерік

4
У мене виникли проблеми з VsHub та HttpHostx64, коли я намагався змінити старий файл дизайну linq на sql у старому проекті. Після відкриття дизайнера VS закрився б і не відповідав. Procmon проявив велику активність від HttpHostx64.exe. Я перейменував папку c: \ Program Files (x86) \ Common Files \ Microsoft Shared \ VsHub \ у "VsHub (фігня)". Мій дизайнер linq-sql зараз завантажується як звичайно. :)
Нік

30

Як згадувалося в xakepp35, ви можете видалити папку C: \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub . Однак я підозрюю, що оновлення чи інші інсталятори, ймовірно, намагатимуться їх знову створити.

Те, що я зробив, було вимкнено всі процеси VS. Візьміть право власності на папку (як адміністратор), а потім RAR (ZIP) вгору на папку і, нарешті, видаліть її (RAR як резервну копію, якщо мені потрібні файли назад). Шахта знаходиться на SSD, тому я хочу заощадити простір. В іншому випадку ви можете просто перейменувати його і залишити на місці.

Потім, щоб запобігти його створенню знову, я використав старий трюк Win 3.1. Створіть текстовий файл під назвою VsHub.txt у папці C: \ Program Files (x86) \ Common Files \ microsoft shared . Потім перейменуйте текстовий файл і зніміть розширення .txt, залишивши файл під назвою VsHub . Оскільки ОС не може створити папку та файл з тим самим іменем у тому самому місці, poof, її недоступна як папка для VS, так і її недоступні та майбутні інсталятори / оновники як папка. Тоді, якщо вам у майбутньому вам доведеться знову дозволити доступ, просто додайте .txt назад у файл і відійдете.


8
Це запропоноване рішення для мене прекрасно працювало. Це усунуло потоки запитів на vshub у Fiddler і загальна продуктивність VS значно покращилась. Майкрософт, якщо ви читаєте: менше - більше - програмне забезпечення - це найгірше, що ви можете дозволити продуктивності програмного забезпечення.
Шон

Просто щоб переконатися, що ніхто не отримує диких уявлень про видалення цього файлу, щоб дозволити створення каталогу, ви можете додати ACL до нього на вкладці правої кнопки / властивості / безпека, що не робить нічого, крім заборонити всім привілеям видаляти файл .
dgnuff

Я дотримувався цієї підказки і отримав неймовірний швидкісний набір. Мій комп’ютер чутливий до черги на диску, що іноді означає, що екран сплеску Visual Studio знаходиться там протягом 5 хвилин (без перебільшення). Дуже дякую за це.
S Meaden

22

Це, мабуть, є комунікаційним ножем швейцарської армії для візуальної студії відповідно до відповіді @ sraboy. Він використовується під час налагодження для відображення інформації про продуктивність запущеного процесу, а також для надсилання телеметрії в Microsoft щодо проекту, над яким ви працюєте. Ви можете створити і переглядати код добре, якщо його відключити (на перший погляд).

Видалення, перейменування або блокування створення процесу vshub з AV порушить згадане мною простеження продуктивності. Втрата vshub покращує конфіденційність під час використання Visual Studio під час спілкування з vortex.data.microsoft.com, передаючи таку інформацію, як GUID рішення та проект, разом із ідентифікатором вашого облікового запису. Нижче - знімок екрана із скриптом, який перехоплює дані HTTPS.

Блокування доступу на рівні мережі допомагає конфіденційності, але це не вирішить проблему використання ресурсів. Я б вважав останнє нормальним режимом роботи Visual Studio.

Що стосується вашого використання, ви, ймовірно, можете піти з якоїсь форми відключення (блокування екземплярів антивірусним програмним забезпеченням, мабуть, найчистіший підхід), але це може підтримувати додаткову функціональність, яку я ще не з'ясував.

Дані, передані Microsoft через vshub


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 фільтр у Fiddler


4

Відповідно до менеджера програм Microsoft, коментуючи блог Visual Studio, коментуючи блог Visual Studio , він використовується для підтримки мультиінструментальної комунікації через пакет VS. Враховуючи, наскільки складна Visual Studio, я б не рекомендував нічого такого суворого, як відповідь xakepp35 (видалення).

У моєму Win10 x64 з VS2015 під час роботи налагодження є три процеси, а загальне використання оперативної пам’яті менше 150 Мб. Якщо ви не обмотуєте сторінки на машині з мінімальною оперативною пам’яттю, про це не варто турбуватися. З огляду на те, що ви використовуєте VS2015, я думаю, у вас є запас 150 Мб.

До тих пір, поки ви не знайдете документацію, яка чітко показує, що підтримує концентратор, рекомендую залишити його. На мій досвід, встановлення Visual Studio надто легко зруйнувати.


3
На моїй машині після робочого дня ця програма забирає 580 Мб. Навіть після закриття VS2015 ця програма не припиняється. Я думаю, що це досить багато оперативної пам’яті для програми, яка підтримує функції (хмара, udpates), якими я не користуюся.
0xBADF00D

Схоже, це також залежить від розміру вашого рішення.
Ед Дегань

1
Ну, проблема в тому, що вона просто зростає без обмежень. Учора я встановив лише 2015 рік, і сьогодні вранці було розвідати таємницю 7 Гб. Просто нерозумно. Інвалідні діагностичні інструменти.
Нік Вестгейт

3

Однією з причин, чому Visual Studio намагається підключитися до Інтернету, здається, також те, що за замовчуванням шукайте в Інтернеті оновлення як Visual Studio, так і його розширень.

Крім того, Visual Studio включає в себе основу Internet Explorer у своїй основі, щоб веб-сторінку (та розширення) можна було завантажувати в прямому ефірі. Іншими словами, він також працює як браузер, і, як ми всі знаємо ... Microsoft дуже прагне перевірити дані своїх користувачів та використання свого програмного забезпечення.

У меню ІнструментиПараметри є безліч онлайн-функцій . (Якщо чесно, я віддаю перевагу MonoDevelop навіть із його недоліками.)


2
Нещодавно я перейшов на Sublime Text, не можу йти в ногу з тим, як VS сповільнює роботу машини.
Reda Lahdili

1
Ми збираємось перетворити всі наші веб-сервіси на базі .NET у Java, оскільки інструментарій Microsoft просто бог жахливий.
розчавити

2

Це потрібно для BrowserLink, вікна діагностики, Intellitrace.

Мені іноді потрібні ці функції, але є лише 8 ГБ оперативної пам’яті. Зазвичай я використовую 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 та її побратими зазвичай використовують:

  • VsHub.exe: Спочатку 50 Мб. 250-350 Мб через 2 години
  • Microsoft.VsHub.Server.HttpHost.exe: спочатку 200 Мб. 350 + Мб через 1 год
  • Microsoft.VsHub.Server.HttpHostx64.exe: спочатку 320 Мб. 550 + МБ після 1+ годин

Це звільняє більше 1 ГБ оперативної пам’яті, майже не втрачаючи функціоналу.


0

"VsHub" слід перейменувати на "SmartMobileCloud"; ось як це дурно Тренді. Я скинув його; моє редагування / налагодження VisualC не було пошкоджено.

Після встановлення VisualStudio, видаліть невикористані розширення, виконайте виправлення "C: \ Program Files (x86) \ Загальні файли \ Microsoft Shared \ - Видалено - VsHub" і покладіть туди текстовий файл "VsHub" (немає ".TXT" ), тому нічого не може відтворити папку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.