デスクトップ・アプリケーション・ヒープ不足エラーに対処する方法

  1. レジストリエディタを起動して

    「 HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Control → Session Manager → SubSystems 」
    とたどって キーを開きます。


  2. 右ウィンドウに表示される 「 Windows 」 アイコンを ダブルクリック か、ここを右クリックして、[修正]を クリックする。

  3. すると次のような[文字列の編集]ダイアログが表示される。
    [文字列の編集]ダイアログ
    デスクトップ・アプリケーション・ヒープを変更するには、ここで[値のデータ]にあるパラメータを修正する。


    上の画像の赤枠は ( %SystemRoot%\system32\csrss.exe ) Win32サブシステムの起動時のパラメータが保存されている。
    csrss.exe は クライアント・サーバ・ランタイム・プロセス用のモジュール。

  4. 「SharedSection」のパラメータ[値のデータ]でカーソルを移動し、「SharedSection」パラメータを見付ける。


  5. 上の画像の赤枠 ( SharedSection=1024,3072 ) は
    デスクトップ・アプリケーション・ヒープの初期値を決定するのは、「SharedSection=xxx,yyy」の「yyy」の値。
    ここにKbytes単位でサイズを指定する。

    Windows 2000およびWindows XPでは、デフォルト設定は次のようになっている。

         SharedSection=1024, 3072

    いずれも、第1パラメータ(1024)はグローバル・ハンドル・テーブルなど、
    すべてのデスクトップで共有されるシステム設定用領域で、これを変更する必要はないと思います。

     デスクトップ・アプリケーション・ヒープのWindows NT 3.5でのデフォルト・サイズは512Kbytes、
    Windows 2000/XPでのデフォルト・サイズは3Mbytes(3072Kbytes)である。

    ヒープ不足を解消するには、この値を増加させるわけだが、この値がWindowsシステムに与える影響は大きいので、
    くれぐれも慎重に増加させていただきたい。

    通常は256Kbytesや512Kbytes単位に増加させれば問題を解消できるはずです。
    (それでも問題を回避できないときは、前述のとおり別の道を検討すべきである)。

    場合によっては、「SharedSection=」オプションに第3のパラメータが存在することがある。

         SharedSection=1024, 3072, 512

    この第3のパラメータ(512)は、
    ノン・インタラクティブなプロセスに割り当てられるデスクトップ・ヒープのサイズである。
    こちらも修正する必要はまずないと思います。

  6. 以上、設定を変更したら、レジストリエディタ を閉じて Windows を 再起動 します。

この Web サイトに関する質問やコメントについては、  こちらのページからお送りください。

ホームページへ戻る
Author: Misumi Norihiro