Sistem tepsisindeki VsHub.exe'yi nasıl devre dışı bırakabilirim?


138

Visual Studio 2015'in başlatılması, diğer iki yürütülebilir dosyayı da başlatır:

VsHub.exe

ve

Microsoft.VsHub.Server.HttpHost.exe

Her ikisi de görev yöneticisinde önemli bir yer tutar.

Bu "Visual Studio Hub" seçeneğini nasıl silebilirim? Visual Studio Hub da dahil olmak üzere Visual Studio 'birinci sınıf' özelliklerinden hiçbirini kullanmıyorum.


15
Gerçekten Visual Studio kod düzenleme dışında bir şey için kullanmıyorum. Unity kullanıyorum ve derleme yerleşik derleyici tarafından yapılır, bu yüzden VS'de görmek istediğim tek şey süslü bir metin editörüdür. Ayrıca, Unity için otomatik tamamlamadan yoksun olduğu ve kendi özel temalarınızı oluşturamadığınız için VS Kodunu kullanmak istemiyorum.
Reda Lahdili

2
@RedaLahdili Sonunda ne yaptın? Her iki dosya da VS2015 çalıştırmıyorken bile çalışıyor.
prettyvoid

2
Davan benden daha kötü görünüyor! Maalesef herhangi bir çözüm bulamadım. Gerçekten bu konuda bir şeyler yapmaları gerekiyor. Bazen VSHub, VS'den daha fazla bellek alır. uggh ... Herhangi bir çözüm bulursanız bizi güncel tutun.
Reda Lahdili


1
Microsoft.VsHub.Server.HttpHostx64.exe , Windows 10'umun kapanmasına neden olan bir bellek sızıntısına sahip. Bkz. Connect.microsoft.com/VisualStudio/feedback/details/1610160/…
Olivier Jacot-Descombes

Yanıtlar:


131

VS Hub'a ve bunun amacına ışık tutmaya çalışacağımı düşündüm. Microsoft için çalışıyorum.

Sraboy'un bahsettiği gibi, VS Hub, Visual Studio'nun (ve Blend gibi diğer VS kabuğu tabanlı ürünlerin) çoklu araç iletişimini, devenv (VS) içinde daha iyi yanıt verme ve belirli hizmetlerin yumurtlama sürecinin ömrünü uzatmasını sağlar. Şu anda VS Hub'da barındırılan hizmetler kümesi, dolaşım ayarları, tanılama araçlarında görüntülenen büyük ETL verilerinin işlenmesi, bazı telemetri raporlaması ve otomatik uzantı güncelleme gibi diğer yanıtlarda çağrılan öğelerin çoğunu içerir. ve bildirimler. Bu hizmet setinin gelecekte büyümesi çok muhtemeldir, bu nedenle şu anda bu hizmetlerin hiçbiri gerekli görünmese bile, gelecekte ek hizmetler de barındırılacaktır (yani vshub'ı devre dışı bırakmak oldukça büyük bir çekiçtir.

Kullanım ömrü açısından, devenv.exe kapatıldıktan sonra vshub ve ana bilgisayar işlemleri (örn. Microsoft.VsHub.Server.HttpHost (64) .exe) çalışmaya devam edebilir. Ancak, süresiz olarak çalışmaya devam etmemelidirler. Çoğu durumda bu işlemler, VS tabanlı bir kabuk kapatmanın son örneğinden ~ 5 dakika sonra sona erer. Bu nedenle, VS çalışan bir örneği (devenv.exe) ve bir Blend çalışan örneği (blend.exe) varsa ve devenv.exe, vshub'ı ve ilgili ana bilgisayar işlemlerini çalıştırmaya devam ederseniz. Daha sonra blend.exe'yi kapatırsanız, vshub ve ilgili ana bilgisayar işlemi hala çalışır. Bununla birlikte, yaklaşık 5 dakika sonra, bu ek işlemler kapanacaktır. Bu 5 dakikalık pencerede başka bir devenv.exe örneğini başlatırsanız, vshub ve ilgili ana bilgisayar işlemleri sonlandırılmaz,

Kaynak olarak, vshub.exe işleminin kendisi her zaman nispeten kıvamlı olmalıdır. Hiç büyük olursa, o zaman bu bir hata ve biz bunu düzeltebiliriz bilmek istiyorum :-) Diğer taraftan, barındırılan hizmete bağlı olarak, ana bilgisayar işlemleri çok büyük alabilirsiniz. Özellikle, teşhis araçları ETL'yi işleyerek çalışır. ETL çok, çok, büyük olabilir ve bu nedenle ev sahibi çok fazla kaynak kullanabilir. Teşhis ekibi bunu azaltmanın yollarını arıyor, ancak şimdilik, teşhis aracı penceresini ihtiyacınız olmadığında kapatmak sorunu azaltmaya yardımcı olacaktır.

Çevrimiçi bağlantı açısından, şu anda barındırılan hizmetler kümesinde şu anda üç ana kaynak bulunmaktadır (not, bu zamanla değişecektir). İlk olarak, user3345048'in belirttiği gibi, uzantıları algılayan ve otomatik olarak güncelleyen hizmet bu süreçte çalışır. İletişimi kontrol eden seçenekler Araçlar | Seçenekler | Çevre | Uzantılar ve Güncellemeler (ilk iki onay kutusuna bakın). İkinci olarak, dolaşım ayarları VS Hub'da bir hizmet olarak çalışır. Bu davranışı denetleyen ayarYardım | Müşteri Geri Bildirim Seçenekleri | Ayarlar… menü öğesi. Microsoft'un topladığı telemetri türünü ve bu konumda nasıl kullanıldığını da okuyabilirsiniz. Araçlar | Seçenekler | Çevre | Senkronize ayarlar (veya VS'nin sağ üst köşesindeki kişiselleştirme hesabında oturum açmazsanız daha bütünsel olarak). Son olarak, VS Hub telemetri raporlar. Bu verilerin hacmi,


40
Anson - Windows 7'de RTM sürüm 1 ile Visual Studio 2015 var. Fiddler4'ü açarsam, localhost / vshub / sameGuidHereOverAndOver'a saniyede yüzlerce veya daha fazla çağrı görüyorum. Bu tamamen kabul edilemez - vshost.exe ne yaptığını düşünüyor bilmiyorum, ama tamamen fındık gitti. Süreci öldürebilirim ve hala olur. 2013'e geri dönmek zorunda kalabilirsiniz ...
Mario

4
@Mario - gördüğünüz gibi vshub genellikle yerel bir http sunucusu gibi davranır, bu yüzden çalışırken her zaman bir miktar trafik görmeniz beklenir (http IPC gibi davranır). Sürdürülebilir herhangi bir süre için saniyede 100s istek kesinlikle bir hatadır. Atılan herhangi bir istisna olup olmadığını belirtmesi gereken% temp% \ VsHub'daki günlükleri kontrol edebilirsiniz ve açıkçası trafiği nasıl inceleyeceğinizi zaten anladınız. Yapılacak en iyi şey, bize günlükleri toplamak için bir kanal verecek ve düzeltildiğinden emin olmaya çalışacağından, connect.microsoft.com aracılığıyla bunu bir sorun olarak bildirmek olacaktır
Anson Horton

28
İşte Microsoft.VsHub.Server.HttpHost64.exe, makinemde " kıvılcım " - imgur.com/DKvSNqf - bu, 1GB RAM'e ulaştı. Güzel.
sh1rts

7
@ sh1rts - Hayal kırıklığınızı anlıyorum. Yukarıda yaptığım "kıvrak" yorum vshub.exe hedeflendi. Microsoft.VsHub.Server.HttpHost64.exe, bellek yoğunluğu yüksek olabilenler de dahil olmak üzere çeşitli hizmetleri çalıştıran ana bilgisayar işlemidir (örn. F5 kullandığınızda başlayan veya açıkça bellek veya kullanıcı arabirimi yanıtlama analizi yapmayı seçerseniz tanılama araçları ). Bunun yardımcı olup olmadığını görmek için bu hizmetlerden bazılarını devre dışı bırakmak için yukarıda bahsettiğim geçişlerden bazılarını deneyebilirsiniz - ancak genellikle gelecekteki sürümlerde genel bellek yükünü azaltmak için çalışacağız.
Anson Horton

17
Peki Fiddler'de yüzlerce / vshub / GUID isteği görmeyi bırakmanın yolu nedir? Bu, Visual Studio'da herhangi bir HTTP istemcisinde hata ayıklamayı imkansız hale getirir, çünkü hata ayıklama sırasında her adımda kemancıda 10'dan fazla istek görüyorum ve ilgilendiğim istek kayboluyor :-(. localhost üzerinde HTTP istekleri yapmak için iletişim
Đonny

82

Yukarıda kimsenin bahsetmediği bir şey ...

Güvenlik duvarı günlüğüme göre, VsHub.exe, Microsoft.VsHub.Server.HttpHost.exe ve Microsoft.VsHub.Server.HttpHostx64.exe dosyalarının tümü çevrimiçi iletişim kurmaya çalışır .

Giden bağlantı girişimlerinin olduğu gördüğüm adresler arasında 191.236.194.164 (Microsoft Azure, Wichita Kansas) ve 23.102.160.172 (Microsoft Azure, Redmond Washington) vardı.

Ben "modern" yazılım bulut entegre olması gerekiyordu, ama ...

Microsoft Azure sunucularından herhangi bir şey gerektirmeyen ve meşru bir şekilde gizlilikle ilgilenen ve üzerinde çalıştığım şeylerin herhangi bir bölümünü dış dünyaya sızdırmayan biri olarak, A) bu programları çalıştırmak için veya B) çevrimiçi sohbetlerini sınırlamak için ayarlarla donatılır. Evet, güvenlik duvarı bağlantıları engelliyor, ancak bu son çare.

Sadece basit bir onay kutusu, "[] Microsoft Azure Sunucularla İrtibata Geçin" iyi olurdu. Bunun söz konusu programları çalıştırmama ya da sadece çevrimiçi bağlantıları yapmama anlamına gelip gelmemesi benim için önemli değil. Kaynak açısından bakıldığında, birincisi daha az kaynak kullanacağı için daha iyi olurdu.

Kural olarak, yüklü bir uygulamanın dosya paketindeki dosyaları değiştirmeyi önermem, ancak Visual Studio 2015'teki değişiklikleri çok fazla sonuç almadan test edebileceğim sanal bir makine ortamım olduğu için (anlık görüntüler harika) değiştirmeyi denedim bu üç dosyadaki izinler (devralmayı kaldırmak ve sonra Kullanıcılar için Okuma ve Yürütme işlemine izin vermemek).

Voila, artık VsHub uygulamaları çalışmıyor, uzak sistemlerle iletişim kurmaya çalışıyor.

Visual Studio geliyor. Burada bir dezavantaj görmüyorum.

-Noel


Dezavantajı: Artık bu dosyaları değiştiremezsiniz.
harrymc

Ne demek istediğinden emin değilim, harrymc. Lütfen daha spesifik olabilir misiniz? İzinlere erişimle ilgili sorunlardan mı bahsediyorsunuz? Yönetici olarak hala bilgisayarınızdaki her dosyada ustalaşıyorsunuz, ancak Microsoft bazen maymun anahtarları atar. Ancak izinlerin nasıl çalıştığını anlarsanız, istediğiniz her şeyi yapabilirsiniz. Sonuçta dosyalar SİZİN bilgisayarınızda. Kendi izinlerinizi kaldırdığınızı söylüyorsanız, kötü ifade ettim. İzinleri KALDIRDIM, bir Reddet ayarı eklemedim demek istedim. "Disallow" kelimesini kullanmalıydım.
NoelC

Reddetme ayarlandıktan sonra, izinlerin yeniden erişilebilmesi için önce kendisini dosyaların sahibi olarak ayarlaması gerekir.
harrymc

Sağ. "Reddet" sütununda bir kutuyu işaretlemeyin. Bunun yerine, İzin Ver sütununun altındaki "Okuma ve yürütme" seçeneğinin işaretini kaldırın.
NoelC

2
Güncelleme 3 sonrası deneyimime dayanarak, yürütme erişimini kaldırmak için vshub.exe'deki izinleri değiştirmek yeterli görünüyor.
NoelC

61

Visual Studio Express 2015 ile Windows 7 x64 kullanıyorum. Görev Yöneticisi ile can sıkıcı işlemleri sonlandırdım. Sonra C: \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub klasörünü sildim . Bu işlem sorunu çözer, ancak yönetici hakları gerektirir.


38
Benden oy verin, çünkü DevTools Ekibinin tüm bu sinir bozucu saçmalığı arka planda sürekli olarak durdurması gerekiyor. Ayrıca MS bana bu bok kaldırmak için temiz bir yol vermeyecektir çünkü VsHub klasörü silmek için tavsiye izleyin.
jerhewet

2
Bu benim için çalıştı, o klasörü sildim ve VsHub artık görev yöneticisinde çalışmaz. Bunu bu sorunun çözümü olarak işaret etmememe rağmen, VsHub'ı devre dışı bırakmanın daha temiz bir yolu olduğundan eminim.
Reda Lahdili

18
Daha sadık bir çözüm buldum. VsHub klasörünü silmek yerine _VsHub olarak yeniden adlandırın . Bu gerçekten korkuyorsanız geri dönme avantajına sahiptir :)
xakepp35

4
Hata ayıklama sırasında, işlemin CPU ve bellek kullanımının canlı bir görünümünü gösteren tanılama araçları çalışmaz.
Frederik

4
Eski bir projede sql tasarımcı dosyasını eski bir linq değiştirmeye çalışırken VsHub ve HttpHostx64 ile sorun yaşadım. Tasarımcısı açtıktan sonra VS kilitlenir ve yanıt vermez. Procmon HttpHostx64.exe'den çok etkinlik gösterdi. C: \ Program Files (x86) \ Common Files \ Microsoft Shared \ VsHub \ klasörünü "VsHub (bullshit)" olarak değiştirdim. Linq-sql tasarımcım artık normal şekilde yükleniyor. :)
Nick

30

Xakepp35'in belirttiği gibi, C: \ Program Files (x86) \ Common Files \ microsoft shared \ VsHub klasörünü silebilirsiniz . Ancak, güncellemelerin veya diğer yükleyicilerin muhtemelen yeniden oluşturmaya çalışacağından şüpheleniyorum.

Yaptığım tüm VS süreçlerini kapatmaktı. Klasörün sahipliğini alın (yönetici olarak) ve sonra klasörü yukarı RAR (ZIP) alın ve son olarak silin (dosyaları geri ihtiyacım varsa yedek olarak RAR). Benimki bir SSD üzerinde, bu yüzden yer kazanmak istiyorum. Aksi takdirde, basitçe yeniden adlandırabilir ve yerinde bırakabilirsiniz.

Sonra tekrar oluşturulmasını önlemek için eski bir Win 3.1 hile kullandım. Adlı bir metin dosyası oluşturun VsHub.txt içinde \ Program Files (x86) \ Common Files \ Microsoft Shared: C klasörü. Sonra metin dosyasını yeniden adlandırın ve VsHub adlı bir dosya bırakarak .txt uzantısını çıkarın . İşletim sistemi aynı konumda bir klasör ve aynı adda bir dosya oluşturamadığından, puf, VS'ye bir klasör olarak erişilemez ve erişilemeyen ve gelecekteki yükleyicileri / güncelleyicileri bir klasör olarak da. Gelecekte tekrar erişime izin vermeniz gerekiyorsa, .txt dosyasını dosyaya geri ekleyin ve gittiğiniz yere gidin.


8
Önerilen bu çözüm benim için mükemmel çalıştı. Fiddler'deki vshub taleplerinin taşmasını ortadan kaldırdı ve VS'nin genel performansı önemli ölçüde iyileştirildi. Microsoft, okuyorsanız: daha azı daha fazladır - bloatware, üretkenlik yazılımına izin verebileceğiniz en kötü şeydir.
Shaun

Sadece kimsenin dizinin oluşturulmasına izin vermek için bu dosyayı kaldırma konusunda herhangi bir vahşi fikir almadığından emin olmak için, sağ tıklama / özellikler / güvenlik sekmesinden, herkesin dosyadaki ayrıcalıkları silmesini reddetmekten başka bir şey yapmayan bir ACL ekleyebilirsiniz. .
dgnuff

Bu ipucunu takip ettim ve inanılmaz bir hız alıcısı aldım. Bilgisayarım disk kuyruğuna açıktır, bu da bazen Visual Studio açılış ekranının 5 dakika boyunca (abartı yok) olduğu anlamına gelir. Bunun için çok teşekkürler.
S Meaden

22

Bu sraboy'un cevabına göre görsel stüdyo için bir iletişim İsviçre Ordusu bıçağı gibi görünüyor. Hata ayıklama sırasında çalışan işlemle ilgili performans bilgilerini görüntülemek, aynı zamanda üzerinde çalıştığınız proje hakkında Microsoft'a telemetri göndermek için kullanılır. Devre dışı bırakılmışken (ilk bakışta) kod ince ayarını yapabilir ve adım adım ilerleyebilirsiniz.

AV ile vshub işlemi oluşturma işleminin kaldırılması, yeniden adlandırılması veya engellenmesi, bahsettiğim performans izlemesini bozacaktır. Vshub'ın kaybedilmesi, vortex.data.microsoft.com ile iletişim kurarken Visual Studio'yu kullanırken , hesap kimliği ile birlikte çözüm ve proje GUID'leri gibi bilgileri ileterek gizliliği artırır . Aşağıda HTTPS verilerini ele geçiren kemancıdan bir ekran görüntüsü var.

Ağ düzeyinde erişimi engellemek gizliliğe yardımcı olur, ancak kaynak kullanım sorununuzu gidermez. İkincisini Visual Studio'yu çalıştırmanın normal bir yükü olarak görüyorum.

Kullanım durumunuz için, muhtemelen bir tür devre dışı bırakma yönteminden kurtulabilirsiniz (virüsten koruma yazılımınızla örneklemeyi engellemek muhtemelen en temiz yaklaşımdır), ancak henüz çözemediğim ek işlevleri destekleyebilir.

Microsoft'a vshub aracılığıyla iletilen veriler


8

VSHub'ı korumak ve yine de Fiddler'ı kullanmak isteyenler için, Fiddler'de aşağıdaki ayarlarla bir Filtre oluşturabilirsiniz:

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

DÜZENLEME - muhtemelen bunu da eklemek istersiniz:

Hosts > Show only the following Hosts: =
localhost;

vortex.data.microsoft.comvb .. taleplerini ihmal etmek için

Fiddler'deki vshub filtresi


4

Visual Studio Blog'u Visual Studio Blog'u için yorum yapan bir Microsoft Program Yöneticisi'ne göre , VS paketi genelinde çok araçlı iletişimi desteklemek için kullanılır. Visual Studio'nun ne kadar karmaşık olduğu göz önüne alındığında, xakepp35'in cevabı (silme) kadar sert bir şey önermem.

VS2015 çalıştıran Win10 x64 cihazımda hata ayıklama sırasında üç işlem var ve toplam RAM kullanımı toplamda 150 MB'den az. En az RAM içeren bir makinede endişelenecek bir sayfa atmadığınız sürece. VS2015'i çalıştırdığınız göz önüne alındığında, yedeklemek için 150MB'ınız olduğunu tahmin ediyorum.

Hub'ın neyi desteklediğini açıkça gösteren belgeler bulana kadar ya da bırakmamanızı tavsiye ederim. Deneyimlerime göre, Visual Studio yüklemelerinin kırılması çok kolay.


3
Bir gün çalıştıktan sonra makinemde bu program 580MB alır. VS2015'i kapattıktan sonra bile, Bu program durmuyor. Bunun kullanmadığım özellikleri (bulut, udpates) destekleyen bir program için oldukça fazla RAM olduğunu düşünüyorum.
0xBADF00D

Bu aynı zamanda çözümünüzün boyutuna da bağlı gibi görünüyor.
Ed DeGagne

1
Sorun şu ki, sadece sınırsız büyüyor. Sadece 2015'i dün kurdum ve bu sabah araştırmak için 7GB gizemi vardı. Sadece aptalca. Engelli tanılama araçları.
Nick Westgate

3

Visual Studio'nun çevrimiçi olarak bağlanmaya çalışmasının nedenlerinden biri, varsayılan olarak, hem Visual Studio hem de uzantıları için güncelleştirmeleri çevrimiçi olarak aramasıdır.

Ayrıca, Visual Studio web sayfası (ve uzantısı) canlı olarak indirilebilmesi için çekirdeğinde bir Internet Explorer sürümü içerir. Başka bir deyişle, bir tarayıcı gibi davranıyor ve hepimizin bildiği gibi ... Microsoft, kullanıcılarının verilerini ve yazılımını kontrol etmeye oldukça hevesli.

AraçlarSeçenekler menüsünde birçok çevrimiçi işlev vardır . (Dürüst olmak gerekirse, kusurları ile bile MonoDevelop'u tercih ederim .)


2
Kısa bir süre önce Yüce Metin'e geçtim, VS'yi makinemi yavaşlatamaz.
Reda Lahdili

1
Tüm .NET tabanlı web hizmetlerimizi Java'ya dönüştürmek üzereyiz çünkü Microsoft araçları sadece tanrı korkunçtur.
ezmek

2

TarayıcıLink, Tanı penceresi, Intellitrace için gereklidir.

Bazen bu özelliklere ihtiyacım var, ancak sadece 8 GB RAM var. Genellikle% 90-95 kullanımdayım, bu yüzden klasörü yeniden adlandırarak ve sahte dosyaları olan boş bir klasöre bir sembolik bağlantı oluşturarak VSHub'ı açmak ve kapatmak için bir toplu iş dosyası oluşturdum.

Çalıştırmadan önce Visual Studio'yu kapatın.

@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

Makinemde VSHub ve cronies genellikle şunları kullanır:

  • VsHub.exe: Başlangıçta 50 MB. 2 saat sonra 250-350 MB
  • Microsoft.VsHub.Server.HttpHost.exe: Başlangıçta 200 MB. 1 saat sonra 350+ MB
  • Microsoft.VsHub.Server.HttpHostx64.exe: Başlangıçta 320 MB. 1 saatten sonra 550 + MB

Bu, neredeyse hiç işlevsellik kaybetmeden 1 GB RAM'i boşaltır.


0

"VsHub", "SmartMobileCloud" olarak yeniden adlandırılmalıdır; İşte bu kadar aptalca. Ben terk ettim; VisualC düzenleme / hata ayıklama zarar görmedi.

VisualStudio yüklendikten sonra kullanılmayan uzantıları kaldırın, "C: \ Program Files (x86) \ Common Files \ Microsoft Shared \ - Deleted - VsHub" fix ... komutunu yapın ve oraya "VsHub" metin dosyası koyun (".TXT" yok) ), böylece hiçbir şey klasörü yeniden oluşturamaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.