スタジオとみっぺ スタジオとみっぺ トップページに戻る

このページは、お使いのブラウザでは正しく表示されないことがあります。Internet Explorer 7.0 ・ Firefox 2.x ・ Safari 2.x などの新しいブラウザでご覧下さい。

サイトメニューをスキップする(このページの目次へ)


スタジオとみっぺ TKDB

データベースの検索

カテゴリー


検索




最近のエントリー


十分な空きメモリがあるにもかかわらずメモリ不足の状態になる

2005年08月20日

問題

Windows NT、2000、XP において、多くの空きメモリーがあるにもかかわらず、ソフトウェアを多数起動している場合などに、次の現象が発生し、メモリ不足のような状態に陥ることがあります。

なお、以下で言う「オブジェクト」とは、デスクトップ上に表示されるウィンドウ・ボタン・メニュー・アイコンなどのあらゆる要素を指します。

しかしながら、起動中のプログラムを終了すると、残りのプログラムが正常に動作することもあります。

原因

Windows システムの「デスクトップアプリケーションのヒープ」が不足しているためです。これはWindows システムがあらゆる(ユーザーモードの)プログラムのオブジェクトを描画する際に使用するために割り当てた特別なメモリー空間で、その容量はシステムの設定により固定されています。

解決策

このトラブルが発生した際、尋常ではない数のプログラムを起動していたなど、普段では考えられないケースである場合は、問題ありません。普段からあまりに多くのプログラムを起動しないようにしてください。

しかし、普段の作業中にこのエラーが頻繁に発生するなど、明らかにヒープの容量が不足している場合は、レジストリの値を変更し、ヒープの容量を増やしてください。

その方法は、以下の通りです。

  1. レジストリエディタを起動する
    • スタート(C) → ファイル名を指定して実行(C) → 「regedit」と入力 → OK(C)
  2. 次のレジストリキーを開く
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
  3. 「Windows」の値のうち、以下の赤字の部分の値を変更する
    %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:GdiServerDllInitialization,4 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
  4. レジストリエディタを終了し、再起動する

参考記事・関連リンク

備考

  • レジストリの変更は、手順を誤るとシステムの誤作動をもたらし、最悪の場合システムの初期化・再インストールを余儀なくされることがありますので、自己責任のもと、注意して行ってください。
  • 「デスクトップアプリケーションのヒープ」の容量をみだりに増やすと、システムの動作に重大な影響を及ぼします。増やす場合は以下の要領で行うことをお薦めします。
    • 512の倍数ずつ
    • 現在の値の最大2倍まで
  • この値の標準値はOSのバージョンによって異なります。
    NT 3.1、2000、XP
    3072(KB)
    NT 3.5
    512(KB)

投稿者 とみっぺ : 2005年08月20日 22:39

トラックバック

このエントリーのトラックバックURL:
http://tomippe.jp/mt/mt-tb.cgi/19



コメントをお寄せ下さい




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)

これまでのコメント