HeapDeCommitFreeBlockThreshold レジストリ値を設定する方法

 

あるアドレスでメモリが解放されると、オペレーティング システムのヒープ マネージャは、そのアドレスが含まれる連続した空き領域のサイズを確認します。確認が終わると、ヒープ マネージャは次のいずれかの処理を行います。

  • 連続するメモリ ブロックをコミットし続ける。
  • 連続するメモリ ブロックをデコミットし、予約のみとしてマークする。

HeapDecommitFreeBlockThreshold レジストリ キーは、メモリがデコミットされる、連続する空き領域のしきい値 (バイト単位) を指定します。既定では、ヒープ マネージャはすべての空きブロックを結合したり、新しく配置するとは限りません。したがって、ブロックがデコミットされて、仮想アドレス スペースに無用な穴が生じる可能性があります。これにより、仮想メモリの断片化が生じ、パフォーマンスが低下したり、システムが不安定になる可能性があります。

1 GB 以上のメモリを搭載するシステムでは、デコミットされるメモリ部分のサイズを制御することで、パフォーマンスが最適化されます。HeapDecommitFreeBlockThreshold レジストリ キーは、メモリが解放されたときの処理方法を制御します。レジストリにこの値を追加する場合は、16 進数の 0x00040000 (10 進数の 262,144) に構成する必要があります。

Microsoft では、HeapDecommitFreeBlockThreshold レジストリ キーの値として、16 進数の 0x00040000 (10 進数の 262,144) 以外の値はサポートしません。また、HeapDecommitFreeBlockThreshold レジストリ キーの使用は、1 GB 以上のメモリを搭載した Exchange Server 2000 および Exchange Server 2003 のみでサポートされます。搭載するメモリが 1 GB 未満のシステム、または 1 GB 以上のメモリを搭載していても Exchange 2000 Server または Exchange Server 2003 を実行していないシステムでは、HeapDecommitFreeBlockThreshold レジストリ キーを使用しないでください。

開始する前に

この手順にはレジストリの編集に関する情報が含まれていることに注意して、このトピックの手順を実行してください。

Caution注意 :
レジストリの編集を誤ると、オペレーティング システムの再インストールを余儀なくされるような重大な問題が発生する可能性があります。レジストリの編集を誤ったために発生した問題は、解決できない場合があります。レジストリを編集する前に、大切なデータはすべてバックアップしてください。

手順

HeapDeCommitFreeBlockThreshold レジストリ値を設定するには、次の操作を行います。

  1. Regedit.exe、Regedt32.exe などのレジストリ エディタを開きます。

  2. HKLM\System\CurrentControlSet\Control\Session Manager に移動します。

  3. [Session Manager] を右クリックし、[新規] をポイントします。次に、[DWORD 値] をクリックします。

  4. 新しい DWORD 値に、HeapDecommitFreeBlockThreshold という名前を付けます。

  5. [HeapDecommitFreeBlockThreshold] をダブルクリックします。

  6. [ベース][16 進] に設定します。

  7. [値のデータ] ボックスに、「0x00040000」と入力します。

  8. レジストリ エディタを終了し、Exchange Server コンピュータを再起動して、変更内容を有効にします。

リファレンス情報