システムトレイでVsHub.exeを無効にするにはどうすればよいですか?


138

Visual Studio 2015を起動すると、他の2つの実行可能ファイルも起動します。

VsHub.exe

そして

Microsoft.VsHub.Server.HttpHost.exe

これらは両方ともタスクマネージャでかなりのスペースを必要とします。

この「Visual Studio Hub」オプションを削除するにはどうすればよいですか?Visual Studio Hubの機能を含め、Visual Studioの「一流」の機能は使用していません。


15
まあ、コード編集以外の目的でVisual Studioを実際に使用することはありません。私はUnityを使用しており、コンパイルは組み込みのコンパイラーによって行われるため、VSで見たいのは空想的なテキストエディターだけです。また、VS CodeはUnityのオートコンプリートがなく、独自のカスタムテーマを作成できないため、使用したくありません。
Reda Lahdili、2015

2
@RedaLahdiliどうしたの?VS2015を実行していない場合でも、両方のファイルが実行されています。
prettyvoid

2
あなたのケースは私のものよりも悪いようです!残念ながら解決策は見つかりませんでした。彼らは本当にこれについて何かをする必要があります。VSHubはVS自体よりも多くのメモリを必要とする場合があります。うーん...あなたが何か解決策を見つけたら私たちを最新のものにしてください。
Reda Lahdili

1
別の解決策は次のとおりです。stackoverflow.com/questions/31904929/...
oguzh4n

1
Microsoft.VsHub.Server.HttpHostx64.exeメモリリークがあり、Windows 10がシャットダウンします。参照:connect.microsoft.com/VisualStudio/feedback/details/1610160/...を
オリヴィエJacot-Descombes

回答:


131

私はVS Hubとそれが意図するものに光を当てようとするつもりだと思った。私はマイクロソフトで働いています。

sraboyが述べているように、VS Hubは、マルチツール通信をサポートするためにVisual Studio(およびBlendなどの他のVSシェルベースの製品)が使用するアウトオブプロセスサービスホストであり、devenv(VS)内の応答性が向上します。特定のサービスがスポーンプロセスのライフタイムを超えて延長できるようにします。VS Hubで現在ホストされているサービスのセットには、ローミング設定、診断ツールでレンダリングされるETLデータの大規模なスワスの処理、一部のテレメトリレポート、および拡張自動更新など、他の回答で呼び出される多くの項目が含まれますと通知。ただし、そのサービスのセットは将来的に大きくなる可能性が非常に高いので、現時点でそれらのサービスのいずれも必要ではないと思われる場合でも、将来的に追加のサービスがホストされます(つまり、vshubを無効にするのはかなり大きなハンマーです)。

存続期間に関しては、vshubおよびホストプロセス(つまり、Microsoft.VsHub.Server.HttpHost(64).exe)は、devenv.exeが閉じた後も実行を続けることができます。ただし、無期限に実行し続けることはできません。ほとんどの場合、これらのプロセスは、VSベースのシェルを閉じる最後のインスタンスから約5分以内に終了します。したがって、VSを実行しているインスタンス(devenv.exe)とBlendを実行しているインスタンス(blend.exe)があり、devenv.exeをシャットダウンした場合、vshubと関連するホストプロセスは実行を続けます。その後、blend.exeをシャットダウンすると、vshubおよび関連するホストプロセスは引き続き実行されます。ただし、それから約5分後に、これらの追加プロセスはシャットダウンします。その5分のウィンドウ内でdevenv.exeの別のインスタンスを開始すると、vshubと関連するホストプロセスは終了しません。

リソースに関しては、vshub.exeプロセス自体は常に比較的しなやかなものでなければなりません。それが大きくなる場合、それはバグであり、修正できるように私はそれについて知りたいです:-)一方、ホストプロセスは、ホストされているサービスによっては非常に大きくなる可能性があります。特に、診断ツールはETLを処理することで機能します。ETLは非常に大きくなる可能性があるため、ホストは多くのリソースを使用する可能性があります。診断チームはそれを減らす方法を模索していますが、現時点では、不要なときに診断ツールウィンドウを閉じることで問題を軽減できます。

オンライン接続に関しては、現時点でホストされているサービスのセットには現在3つの主要なソースがあります(注:これは時間とともに変化します)。まず、user3345048が言及しているように、拡張機能を検出して自動更新するサービスがそのプロセスで実行されます。その通信を制御するオプションは、ツール|ツールにあります。オプション| 環境| 拡張機能と更新(最初の2つのチェックボックスを参照)。次に、ローミング設定はVS Hubのサービスとして実行されます。この動作を制御する設定は、ツール| オプション| 環境| 同期された設定(全体として、VSの右上隅にあるパーソナル化アカウントにサインインしない場合)。最後に、VS Hubはテレメトリを報告します。このデータの量は、ヘルプ| カスタマーフィードバックオプション| 設定…メニュー項目。また、マイクロソフトが収集するテレメトリの種類と、その場所でのテレメトリの使用方法について読むこともできます。


40
Anson-Windows 7のRTMリリース1を備えたVisual Studio 2015を持っています。Fiddler4を開くと、localhost / vshub / sameGuidHereOverAndOverへの1秒あたりの呼び出しが数百回以上表示されます。これはまったく受け入れられません-vshost.exeが何をしていると私が思うのかはわかりませんが、それは完全に狂っています。プロセスを強制終了できますが、それでも発生します。2013年に戻らなければならない可能性があります...
マリオ

4
@Mario -あなたはしばしばvshub見てきたようあなたが見ることが予想されますので、ローカルhttpサーバとして動作し、いくつかのそれが実行しているときは常にトラフィックを(HTTPがIPCとして機能しています)。一定の期間、毎秒数百のリクエストは間違いなくバグです。%temp%\ VsHubのログをチェックして、スローされている例外があるかどうかを確認できます。明らかに、トラフィックの検査方法はすでにわかっています。ログなどを収集し、ログが修正されることを確認するためのチャネルを提供するので、connect.microsoft.comを通じてこれを問題として報告することをお勧めします
Anson Horton

28
これがMicrosoft.VsHub.Server.HttpHost64.exeが私のマシン上で「しなやかに」動作しているところです-imgur.com/DKvSNqf-それはピーク時の1GBのRAMです。いいね。
sh1rts 2015年

7
@ sh1rts-ご不便をおかけして申し訳ございません。上記の「しなやかな」コメントは、vshub.exeをターゲットにしています。Microsoft.VsHub.Server.HttpHost64.exeは、非常にメモリを集中的に使用する可能性があるサービス(F5を使用したときに起動する診断ツール、またはメモリやUIの応答性分析を明示的に選択した場合など)を含む、さまざまなサービスを実行するホストプロセスです。 )。上記のトグルのいくつかを試して、それらのサービスのいくつかを無効にして、それが役立つかどうかを確認することができます。ただし、将来のバージョンでは、全体的なメモリオーバーヘッドを削減するように努めます。
Anson Horton

17
では、Fiddlerで何百もの/ vshub / GUIDリクエストが表示されないようにする方法は何でしょうか。これは、Visual StudioでHTTPクライアントをデバッグすることを不可能にしています。デバッグ中のすべてのステップで、fiddlerに10以上のリクエストがあり、興味のあるリクエストが失われているためです:-(。これは、プロセス間の非常に非効率的な方法ですローカルホスト上の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への変更をあまり影響なしにテストできるため(スナップショットはすばらしい)、変更を試みましたこれら3つのファイルに対するアクセス許可(継承を削除してから、ユーザーの読み取りと実行を禁止する)。

Voila、これ以上VsHubアプリケーションは実行されず、リモートシステムに接続しようとしています。

Visual Studioが起動します。ここにはマイナス面はありません。

-ノエル


欠点:あなた自身がこれらのファイルを変更することはできません。
harrymc 2016

意味がわからない、ハリーマック。もっと具体的に教えていただけますか?権限へのアクセスに問題があるとおっしゃっていますか?管理者は、コンピュータ上のすべてのファイルを管理しますが、Microsoftは時々モンキーレンチを投げます。しかし、権限がどのように機能するかを理解していれば、何でも好きなことができます。結局のところ、ファイルはあなたのコンピュータにあります。自分の権限を削除したという意味なら、私はそれをひどく言いました。拒否設定を追加するのではなく、権限を削除することを意味しました。「Disallow」という言葉を使うべきでした。
NoelC 2016

拒否を設定したら、アクセス許可に再度アクセスするには、まず自分をファイルの所有者として設定する必要があります。
harrymc 2016

正しい。「拒否」列のボックスはチェックしないでください。むしろ、[許可]列の[読み取りと実行]をオフにします。
NoelC 2016年

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 2015

2
これは私にとってはうまくいきました、私はそのフォルダーを削除し、VsHubはタスクマネージャーで実行されなくなりました。この質問に対する解決策としてこれにフラグを立てることはしませんが、VsHubを無効にするためのより明確な方法があると確信しています。
Reda Lahdili 2015

18
もっと忠実な解決策を見つけました。名前の変更VsHubのにフォルダ_VsHub、代わりの削除。これには、本当に怖い場合はロールバックするという利点があります:)
xakepp35

4
デバッグ中は、プロセスのCPUとメモリの使用状況のライブビューを表示する診断ツールが機能しません。
フレデリク

4
古いプロジェクトで古いlinq to 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プロセスをシャットダウンすることでした。(管理者として)フォルダーの所有権を取得し、次にフォルダーをRAR(ZIP)して、最後にそれを削除します(ファイルを戻す必要がある場合は、バックアップとしてRAR)。鉱山はSSDなので、スペースを節約したい。それ以外の場合は、名前を変更してそのままにしておくことができます。

その後、再度作成されないようにするために、古いWin 3.1のトリックを使用しました。名前のテキストファイルを作成VsHub.txt\プログラムファイル(x86の)\ CommonのFiles \ Microsoft共有:Cフォルダを。次に、テキストファイルの名前を変更し、.txt拡張子を削除して、VsHubという名前のファイルを残します。OSは、同じ場所に同じ名前のフォルダーとファイルを作成できないため、VSへのフォルダーとしてはアクセスできず、フォルダーとしてのアクセスできない将来のインストーラー/アップデーターにもアクセスできます。その後、今後再びアクセスを許可する必要がある場合は、ファイルに.txtを追加してください。


8
この提案された解決策は私にとって完璧に機能しました。Fiddlerでのvshubリクエストのフラッドがなくなり、VSの全体的なパフォーマンスが大幅に向上しました。Microsoft、あなたが読んでいる場合:少ないほど良い-ブロートウェアは、生産性ソフトウェアに起こり得る最悪の事態です。
ショーン

ディレクトリの作成を許可するためにそのファイルを削除することについて誰も思いつかないことを確認するために、ファイルのすべての削除特権を拒否する以外に何もしない右クリック/プロパティ/セキュリティタブからそれにACLを追加できます。 。
dgnuff

私はこのヒントに従って、信じられないほどのスピードピックアップを得ました。私のコンピューターはディスクキューイングの影響を受けやすいため、Visual Studioのスプラッシュスクリーンが5分間存在することがあります(誇張ではありません)。本当にありがとうございました。
S Meaden 2016年

22

これは、@ sraboyの回答によると、ビジュアルスタジオ用のコミュニケーションスイスアーミーナイフのようです。デバッグ中に使用して、実行中のプロセスに関するパフォーマンス情報を表示するだけでなく、作業中のプロジェクトに関するテレメトリをMicrosoftに送信します。(一目で)無効にした状態でコードをビルドしてステップ実行できます。

AVによるvshubプロセスの作成を削除、名前変更、またはブロックすると、前述のパフォーマンストレースが無効になります。vshubを失うと、vortex.data.microsoft.com と通信してVisual Studioを使用し、ソリューションIDやプロジェクトGUIDなどの情報をアカウントIDとともに渡すことで、プライバシーが向上します。以下は、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リクエスト等を省略するため

Fiddlerのvshubフィルター


4

マイクロソフトプログラムマネージャーによるVisual Studioブログへのコメントコメントによると、Visual Studioブログへのコメントは、VSスイート全体のマルチツール通信をサポートするために使用されています。Visual Studioがどれほど複雑かを考えると、xakepp35の回答(それを削除する)ほど厳しいものはお勧めしません。

VS2015が実行されている私のWin10 x64では、デバッグ中に3つのプロセスがあり、合計RAM使用量は合計150MB未満です。心配する必要のない最小限のRAMを搭載したマシンでページスラッシングを行わない限り。VS2015を実行している場合、150 MBの空き容量があると思います。

ハブがサポートしているものを明示的に示すドキュメントが見つかるまでは、そのままにすることをお勧めします。私の経験では、Visual Studioのインストールは簡単に中断できません。


3
一日の仕事の後の私のマシンでは、このプログラムは580MBかかります。VS2015を終了しても、このプログラムは止まりません。これは、私が使用しない機能(クラウド、更新)をサポートするプログラムのRAMのかなりの量だと思います。
0xBADF00D

これは、ソリューションのサイズにも依存しているようです。
Ed DeGagne 2016年

1
まあ、問題はそれが無制限に成長することです。私は昨日2015年のみをインストールしましたが、今朝は調査する必要がある7GBの謎がありました。ばかげている。診断ツールを無効にしました。
Nick Westgate

3

Visual Studioがオンラインで接続しようとする理由の1つは、デフォルトで、Visual Studioとその拡張機能の両方の更新をオンラインで検索することでもあるようです。

また、Visual StudioのコアにはInternet Explorerのバージョンが含まれているため、Webページ(および拡張機能)をライブでダウンロードできます。言い換えれば、それはブラウザとしても機能し、誰もが知っているように...マイクロソフトは、ユーザーのデータとソフトウェアの使用状況をチェックすることにかなり熱心です。

メニューの[ ツール ] →[ オプション ]には、多くのオンライン機能があります。(正直に言って、私は欠陥があるとしてもMonoDevelopを好む。)


2
私は最近Sublime Textに切り替えましたが、VSがマシンの速度を低下させるのに追いつけません。
Reda Lahdili

1
Microsoftのツールはひどいので、.NETベースのすべてのWebサービスをJavaに変換しようとしています。
クラッシュ

2

BrowserLink、Diagnosticsウィンドウ、Intellitraceに必要です。

これらの機能が必要になることもありますが、RAMは8 GBしかありません。私は通常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 MB。2時間以上後250-350 MB
  • Microsoft.VsHub.Server.HttpHost.exe:最初は200 MB。1時間以上後350 MB以上
  • Microsoft.VsHub.Server.HttpHostx64.exe:最初は320 MB。1時間以上後に550 MB以上

これにより、1 GB以上の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.