現在オフラインです。再接続するためにインターネットの接続を待っています

多数のプログラムを実行すると、"メモリ不足です" エラー メッセージが表示される

Windows XP のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Windows XP のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

この記事は、以前は次の ID で公開されていました: JP126962
現象
多数の Windows ベースのプログラムを実行しているときに、新しいプログラムを起動したり、既に実行しているプログラムを使用したりすると、多くの物理メモリおよびページファイル メモリがある場合でも "メモリ不足です" エラー メッセージが表示されることがあります。
原因
この現象は、WIN32 サブシステムのデスクトップ ヒープが不足している場合に発生することがあります。

: この問題は Windows NT 3.5 で多く発生します。その原因は、デスクトップ ヒープの既定のサイズが 512K であるためです。Windows NT 3.1 では、既定値は 3072K です。以前の既定値は、パフォーマンスを向上させるために減らされていました。
解決方法
重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
この問題を解決するには、「Fix it で解決する」セクションに進んでください。自分でこの問題を解決するには、「自分で解決する」セクションに進んでください。

Fix it で解決する



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


注意事項
  • このウィザードは英語版のみとなります。自動的な解決は英語版以外の 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.exeObjectDirectory=\WindowsSharedSection=1024,3072,512Windows=OnSubSystemType=WindowsServerDll=basesrv,1ServerDll=winsrv:GdiServerDllInitialization,4ServerDll=winsrv:UserServerDllInitialization,3ServerDll=winsrv:ConServerDllInitialization,2ProfileControl=OffMaxRequestThreads=16				


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

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

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

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

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

文書番号:126962 - 最終更新日: 05/15/2011 06:09:00 - リビジョン: 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
フィードバック