0

多数の並列バックグラウンド ワーカーを実行するワーカー ロールがあります。これらのワーカーは、1 分から 5 時間続くタスクを実行し、大量のメモリを使用します。

現在のメモリ消費量をテストして、新しいワーカーの開始を遅らせたいと考えています。このようなもの:

while (memoryAvailable < 50%) {

    Thread.Sleep( 1000 * 60 * 10 ); // 10 minutes

}

worker ロール内で使用可能なメモリをテストできますか?

また、メモリが一定量を下回った場合にインスタンスの再起動を自動化できますか?

4

1 に答える 1

1

ワーカー ロール インスタンスは Windows Server 2012 であるため、ロールの起動時に適切なパフォーマンス カウンターをセットアップし ( OnStart())、必要な関連Memoryカウンターを使用して、パフォーマンス カウンターを定期的に監視するタスクをセットアップするだけです。使用可能なメモリがしきい値を下回った場合 (またはコミットされたバイト数がしきい値を超えた場合)、ロール インスタンスを簡単にリサイクルできます。

RoleEnvironment.RequestRecycle();
于 2013-09-10T17:37:44.830 に答える