文書番号: 126962 - 対象製品
この記事は、以前は次の ID で公開されていました: JP126962
すべて展開する | すべて折りたたむ

現象

多数の Windows ベースのプログラムを実行しているときに、新しいプログラムを起動したり、既に実行しているプログラムを使用したりすると、多くの物理メモリおよびページファイル メモリがある場合でも "メモリ不足です" エラー メッセージが表示されることがあります。

原因

この現象は、WIN32 サブシステムのデスクトップ ヒープが不足している場合に発生することがあります。

: この問題は Windows NT 3.5 で多く発生します。その原因は、デスクトップ ヒープの既定のサイズが 512K であるためです。Windows NT 3.1 では、既定値は 3072K です。以前の既定値は、パフォーマンスを向上させるために減らされていました。

解決方法

重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
この問題を解決するには、「Fix it で解決する」セクションに進んでください。自分でこの問題を解決するには、「自分で解決する」セクションに進んでください。

Fix it で解決する



この問題を自動的に解決するには、[この問題を解決する] ボタンまたはリンクをクリックします。[ファイルのダウンロード] ダイアログ ボックスで [実行] をクリックし、このウィザードの手順に従います。

この問題を解決する
Microsoft Fix it 50496

注意事項
  • このウィザードは英語版のみとなります。自動的な解決は英語版以外の Windows でも機能します。
  • 操作しているコンピューターに問題がない場合、Fix it ソリューションをフラッシュ ドライブまたは CD に保存して、問題のあるコンピューターで実行することができます。
  • この手順を実行しても問題が解決されない場合は、コンピューターのメモリを増やしてください。

次に、「問題が解決されたかどうかの確認」セクションに進んでください。



自分で解決する

この問題を修正するには、以下の手順に従ってデスクトップ ヒープのサイズを増やします。
  1. レジストリ エディター (Regedt32.exe) を実行します。
  2. HKEY_LOCAL_MACHINE
    サブツリーから、次のキーに移動します。
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Windows 値をクリックします。
  4. [編集] メニューの [文字列値] を選択します。
  5. SharedSection パラメーターを増やします。

    Windows NT の場合
    SharedSection では、次の形式を使用してシステム ヒープとデスクトップ ヒープを指定します。
    SharedSection=xxxx,yyyy
    yyyy の後に、",256" または ",512" を追加します。

    Windows 2000、Windows XP、Windows Server 2003 の場合
    SharedSection では、次の形式を使用してシステム ヒープとデスクトップ ヒープを指定します。
    SharedSection=xxxx,yyyy,zzzz
    32 ビット オペレーティング システムの場合は、yyyy 値を "12288" に増やします。
    zzzz 値を "1024" に増やします。
    64 ビット オペレーティング システムの場合は、yyyy 値を "20480" に増やします。
    zzzz 値を "1024" に増やします。

詳細

Windows NT は、デスクトップで実行されているすべての Windows ベースのプログラムに特殊なメモリ ヒープを使用します。このデスクトップ ヒープは、すべてのオブジェクト (ウィンドウ、メニュー、ペン、アイコンなど) で使用されます。多数の Windows ベースのプログラムを実行していると、このヒープによりメモリ不足が発生します。割り当て要求を満たすだけの十分なメモリがない場合、通常、システムはエラーを返し、メモリが不足していることをユーザーに通知します。一部のプログラムはエラーを適切に処理しません。場合によっては、エラー メッセージ ダイアログ ボックスを作成するための十分なメモリがないことがあります。その結果、要求された操作は何も通知されることなく失敗します。

レジストリ エディターを使用して表示すると、SharedSection キーは長い文字列です。このキーの既定値は、以下のとおりです。
%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
				


最初の SharedSection 値 (1024) はすべてのデスクトップに共通のヒープ サイズを定義しています。これには、グローバル ハンドル テーブル (ウィンドウ ハンドルはコンピューター全体で一意です) および共有システム設定 (SystemMetrics など) が含まれます。ほとんどの場合、この設定を変更する必要はありません。

2 番目の SharedSection 値 (3072) は、対話型のウィンドウ ステーション (Windows オブジェクトで使用) に関連付けられるデスクトップ ヒープのサイズを制御します。この静的な値は、正常に動作しないアプリケーションで多くのリソースが消費されるのを防ぐために使用されます。デスクトップ ヒープは、各プロセスのアドレス空間にマッピングされているため、この値を独断的に設定してはいけません (パフォーマンスが低下するため)。しかし、必要なすべてのアプリケーションを実行できるようする場合のみ適切に増やす必要があります。

3 番目の SharedSection 値 (512) は、"非対話型" のウィンドウ ステーションに関連付けられるデスクトップごとのデスクトップ ヒープのサイズを制御します。この値が存在しない場合、非対話型ウィンドウ ステーションのデスクトップ ヒープのサイズは対話型ウィンドウ ステーションに指定したサイズ (2 番目の SharedSection 値) と同じになります。
SharedSection キーのパラメーターの詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
184802 PRB: User32.dll または Kernel32.dll の初期化に失敗する

問題が解決されたかどうかの確認

  • 問題が解決されたかどうかを確認します。問題が解決された場合、このセクションの作業は完了していることになります。問題が解決されていない場合は、サポートに問い合わせることができます。
  • マイクロソフトはフィードバックをお待ちしています。この解決方法に関するフィードバックを提供する、または問題を報告するには、"Fix it for me" ブログ (英語) にコメントを記入するか、電子メール メッセージ (日本語可) を送信してください。

プロパティ

文書番号: 126962 - 最終更新日: 2011年5月15日 - リビジョン: 4.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
キーワード:?
kbenv kbmsifixme kbfixme KB126962
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com