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


21

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

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

誰もが標準コレクターを知っていますか?また、RAM使用量が急増する原因は何ですか?

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

Visual Studioの「標準コレクター」プロセスによる大量のRAM使用量

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

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

ここに画像の説明を入力してください


診断ツールを扱います。。Chromeは64ビットプロセスとして存在することを知っていますか?
ラムハウンド

1
これは既知のバグであり、情報の更新を確認する修正があります。connect.microsoft.com
feedback

@arana、私は...修正を持っている「必要がある」アップデート1を、実行している
C. Tewalt

1
@Ramhound Chromeは、この質問にはあまり関係ありません。または、有用な情報を親切に共有していますか?
C.テウォルト

回答:


16

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

したがって、最新のVisual Studio 2015更新プログラムを入手してください。それまでの緩和策:

「一方、プロセスがメモリを大量に消費していることに気付いた場合、回復する方法は2つあります。最も簡単なのは、マシンを再起動することです。 Service Manager UIを使用してVisual Studio Standard Collectorサービスを停止します。サービスの名前は「VSStandardCollectorService140」です。VisualStudioでデバッグしていないときに安全に停止できます。デバッグ中にサービスを停止した場合)デバッグターゲットプロセスを再開すると、診断ツールウィンドウにエラーメッセージが表示されます。」

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

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

おそらくマイクロソフトはこの問題の根本的な原因をいくつか修正したかもしれませんが、現在明らかになっている他の未修正の原因がまだあります。


1
サービスGUIを起動する簡単な方法(Windows 7 / Windows 10)の1つは、開始/実行を実行し、「services.msc」と入力してEnterキーを押すことです。私のWindows 7マシンのサービスのリストで、言及されているものと思われる名前は、「Visual Studio Standard Collector Service」と表示されます。
Developer63-GoFundモニカ

興味深いことに、Update 1がインストールされています->したがって、c#インタラクティブウィンドウを使用する理由(Update 1でのみ使用可能)。興味深いのは、男が再現したリンクのサンプルコードがタスクを使用していることです。私のアプリケーションは、タスクと非同期コードも公平に使用します。
C.テワルト

@matrixugly、私が問題を理解しているように、コレクターサービスは基本的にVS2015の実行中に常に実行され、アプリのインストルメンテーション/診断情報を収集します。したがって、Windowsがメモリ不足のアラートを出したときにあなたがしていたことは、問題に関係がある場合とない場合があります。かなり早い時期に、コレクターサービスプロセスが古いインスツルメンテーションデータの消去を開始する必要があることを認識できず、メモリが徐々にいっぱいになり、無関係なアクティビティ中にメッセージが数時間後に表示された可能性があります。
Developer63-GoFundモニカ

7
Update 3 RCにはまだ存在します。:(
SayusiAndo

1
これはまだVS2017の問題ですか?もしそうなら、このサービスを無効にするとどうなりますか?
ロール

2

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

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


2
また、多くの人が使用しているデバッグスイートの一部である診断ツールがないことにも言及する必要があります。
ロール

1
個人的に、開発者として、私は診断ツールを常に無効にしました。これは、初めて見たときからマシンが非常に遅くなり、実際に診断する必要があるパフォーマンスの問題があるときにのみ有効にするためですまれ)、それでも、通常はプロファイリングセッションでより多くの情報が得られます。私は人々が定期的に何のためにそれを使うのか知りたいと思っています。
エドゥアルド和田
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.