web-dev-qa-db-ja.com

Visual Studio Standard Collectorプロセスとは何ですか。また、10 GBのRAMを使用するのはなぜですか。

うまくいけば、これは投稿するのに適したスタック交換サイトです... SOのプログラミングに関する質問だとは思われませんでした。とにかく、私はVisual Studio 2015を実行していますが、メモリが不足しているため、VS2015を閉じるようWindowsから通知を受けました。私は24 GBのRAMで、昨日再起動したばかりなので、何かがうまくいっていないと思います。C#インタラクティブウィンドウを使用することもあり、python 2.7インタラクティブウィンドウ、しかしそれらはこのメッセージの時に使用されていませんでした。

注:これを書いているときに、devenv.exe(vs2015プロセス)から「不明なハードクラッシュ」メッセージが表示されました。ただし、Standard Collectorサービスは、最大10.7GBを使用してまだ実行されています。

標準コレクターが何か知っている人はいますか?また、RAMの使用が急増する原因は何でしょうか?

注:繰り返しますが、タスクマネージャーで標準コレクターサービスが停止したことに気づき、すべてのRAMが戻ってきました。

Large RAM usage by a Visual Studio "Standard Collector" process

更新:これは、VSチームが更新1で修正しようとしたバグのように思われます。間違いなく、更新1がインストールされていますが、おそらくいくつかのサンプルコードで再現して、VSチームに送信してください。クラッシュしたdevenvインスタンスも現在デバッグしていませんでした。 (ただし、タスクマネージャーの.vshost.exe拡張子で確認できるように、デバッグしている別のインスタンスがあります)

そのdevenvインスタンスはクラッシュせず、実際にはデバッガーで問題なく実行されています。

enter image description here

24
C. Tewalt

コレクタープロセスは、Visual Studio 2015で、デバッグモードで実行されているコードのインストルメンテーション/診断に関連しているようです。Microsoftは、このプロセスの無制限のメモリ使用に問題があることを認めており、「根本的な原因を調査し、 VS2015 Update 1で提供される修正を行いました」

そのため、Visual Studio 2015の最新の更新プログラムを入手してください。それまでの間の緩和については:

「その間、プロセスがメモリを消費し過ぎていることに気付いた場合は、2つの方法で回復できます。最も簡単なのは、マシンを再起動することです。これにより、すべてが新しい状態に戻ります。メモリ消費を軽減するためにできるもう1つのことは、 Service Manager UIを使用してVisual Studio Standard Collector Serviceを停止します。サービスの名前は「VSStandardCollectorService140」です。VisualStudioでデバッグしていないときは、安全に停止できます。デバッグ中にサービスを停止した場合(ブレークポイントで停止した場合でも) )デバッグターゲットプロセスを再開すると、[診断ツール]ウィンドウにエラーメッセージが表示されます。」

上記の引用のソースであるこのリンクを見てください: https://connect.Microsoft.com/VisualStudio/feedback/details/1630071/visual-studio-standard-collector-unbounded-memory-usage =

このリンクには、コンソールアプリからこれを体験した人のコード例もあります。このサンプルコードを実行して、システムで問題が発生するかどうかを確認することは価値があります。問題を報告した人はまた、断続的に発生することを示しましたが、Visual Studioデバッグモードでコードを実行することは、1つの一般的なスレッドのように見えました。

おそらくMicrosoftが問題のいくつかの根本的な原因を修正しましたが、まだ表面化している他の未解決の原因があります。

17
Developer63

サービスを無効にすると、再びメモリを消費することはありません。

「ツール」->「オプション」->「デバッグ」->「一般」で、「デバッグ中に診断ツールを有効にする」を無効にします。

2
Sumit Joshi