1

.net ガベージ コレクションが実行されない条件は何ですか? CPU使用率が高いとガベージコレクションが実行できなくなりますか?

Visual 2010 .net 4 を使用した非常に大規模なプロジェクトに取り組んでいます。プロジェクトの新しい部分を追加し、現在そのパフォーマンス テストを行っています。テスト中に、クライアントを常にほぼ 100% の CPU で高負荷にすると、メモリがリークしているように動作することがわかりました。何も見つからない多くのテストの後、ANTS プロファイラーを使用しましたが、5 分ごとにスナップショットを作成すると、メモリが通常どおりに機能することがわかりました。ANTS はガベージ コレクションを強制的に機能させるので、アプリケーションの実行を中断しないために高 CPU では .net ガベージ コレクションは機能しませんか?

4

1 に答える 1

2

問題を確認した後、CPU の使用率が高いために GC が正常に動作していないという結論に達しました。数分ごとに GC を呼び出してテストしましたが、(プログラムの通常の実行では) メモリは低いままでした。その後、プログラムの主なボトルネックをいくつかのコアにフォークしました。CPUがダウンし、メモリはc#と.netで通常どおり正常に機能します-一定の範囲で上下しました。

于 2013-11-17T20:26:16.863 に答える