BizTalk プロセス BTSNTSvc.exe は、不要になったメモリの解放に失敗したときにメモリ リークが発生すると定義されるため、時間の経過に伴う使用可能なメモリの量が減少します。 プロセスのメモリ使用量は、タスク マネージャーで使用可能な [プロセス] タブの [Mem Usage] 列の値を表示することで決定できます。 プロセスがメモリを解放せずに時間の経過と同時にメモリを消費し続ける場合、システムの全体的なパフォーマンスが悪影響を受けます。
このトピックでは、ルールを使用するか、メモリ ダンプを手動でキャプチャすることによって、メモリリークの疑いがある BizTalk プロセスのメモリ ダンプをキャプチャする手順について説明します。 メモリ リークの発生が予測できない場合は、メモリ ダンプを手動でキャプチャする方法を使用します。
ルールを使用してメモリ リークしているプロセスのメモリ ダンプをキャプチャするには
スタート、すべてのプログラム、IIS 診断、デバッグ診断ツール、デバッグ診断ツール1.0 からデバッグ診断ツールを起動します。
ルールの追加ウィザードの [ ルールの種類の選択 ] ダイアログボックスが表示されない場合は、[ ツール ] メニューをクリックし、[ ルールアクション] を選択し、[ルールの追加] をクリックしてルールの 追加 ウィザードを表示します。
[ルールの種類の選択] ダイアログで [メモリとハンドル リーク] オプションを選択し、[次へ] をクリックします。
メモリリークの疑いがある BTSNTSvc.exe プロセスを選択し、[ 次へ] をクリックします。
[ 追跡期間の構成 ] ダイアログで、次の手順に従います。
観察されたプロセスメモリの増加が直ちに発生した場合は、 ルールがアクティブになったときにすぐにメモリ追跡を開始するオプションをオンにします。 観察されたプロセス メモリの増加がすぐに発生しない場合は、[ ウォームアップ時間 ] テキスト ボックスに適切な分数を指定します。その後、メモリ追跡が開始されます。
注
BizTalk オーケストレーションが外部コンポーネントを参照する場合など、特定のコンポーネントをメモリに読み込むときにメモリ リークが発生した場合、観察されたプロセス メモリの増加はすぐには発生しない可能性があります。
[ 追跡時間 ] テキスト ボックスで、メモリ追跡を停止する適切な分数を指定します。 これは、メモリ リークを再現するのに十分な長さ (分) である必要があります。 この期間が経過すると、プロセスのメモリ ダンプがキャプチャされます。
クラッシュルールを自動作成して、プロセスが予期せず終了したときにユーザーダンプを取得できるようにするオプションを選択します。
[次へ] をクリックします。
[ ダンプの場所と規則名の選択 ] ダイアログで、[ 次へ ] をクリックして既定値をそのまま使用します。
[ Rule Completed ]\(完了\) ダイアログボックスで [完了] をクリックし、[ 今すぐルールをアクティブにする]の既定値をそのまま使用します。
既定では、プロセスのメモリ ダンプは、[追跡期間の構成] ダイアログで指定された時間間隔が経過した後、ローカル コンピューターの \Program Files\IIS Resources\DebugDiag\Logs\<name of crash rule> ディレクトリに保存されます。
メモリ リークしているプロセスのメモリ ダンプを手動でキャプチャするには
スタート、すべてのプログラム、IIS 診断、デバッグ診断ツール、デバッグ診断ツール1.0 からデバッグ診断ツールを起動します。
[ルールの追加ウィザード] の [規則の種類の選択] ダイアログボックスが表示されたら、[キャンセル] をクリックします。
クリックしてデバッグ診断ツールの [ プロセス ] タブを選択します。
メモリリークの疑いがある BTSNTSvc.exe プロセスを右クリックし、[ リークの監視] をクリックします。
タスク マネージャーでプロセスのメモリ使用量を監視し、プロセスのメモリ使用量が BizTalk コンピューターで使用可能なメモリの 60 から 80% に近づくとき。プロセスを右クリックし、[フル ユーザー ダンプの作成] オプションを選択して、プロセスのメモリ ダンプを手動でキャプチャします。
既定では、プロセスのメモリ ダンプは、ローカル コンピューターの \Program Files\IIS Resources\DebugDiag\Logs\Misc\ ディレクトリに保存されます。