Windows 「ボタンが反応しない」、ソフトが起動できない 症状の改善方法

■症状
しばらくWindowsXPを使っていると、1GB以上のメモリを積んでいて空きメモリも十分にあるはずなのにアプリケーションが起動できなくなったりする事がある。
起動時に「メモリ不足」「内部エラー」などと表示され、ソフトが起動できない。
それだけでなく、アプリケーションのボタンが反応しなくなったり部分的にコンポーネントが表示されなくなったりする。
■原因
この場合、デスクトップヒープが不足している可能性が高く、メモリクリーナーを使用しても直らない場合が多い。
正式名称:「デスクトップ・アプリケーション・ヒープ(desktop application heap)」
タスクマネージャのプロセスタブの一覧にある[GDIオブジェクト]という項目がデスクトップヒープに関連する。
これを消費しすぎて枯渇すると物理メモリの空き容量に余裕があっても不安定になる。
■対処法
1. レジストリからデスクトップヒープの最大容量を増やす。
デスクトップ アプリケーションのヒープを増やす

設定値例 (20480KBで設定した) :
※ 20480KB にすると不定期にブルースクリーンになるようになってしまったので4096KBに落としたところ安定。
追記:2010/12/2
SharedSection=1024,20480,512 で安定中。
・変更方法
[win] + R で Regedt32 を起動。
# レジストリ エディター (Regedt32.exe) を実行します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems を開く
その中の"Windows"の内容を編集
設定値例 (4096KBで設定した) :

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,4096,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

2. explorerのプロセスを強制終了する
デスクトップヒープを増やしても、不安定になることがある。
そういった場合はタスクマネージャのプロセス一覧から"explorer.exeのGDIオブジェクトを確認してみる。
1500以上を超えているなら"プロセスの終了(E)"で終了すると改善される場合が多い。
復帰するにはタスクマネージャの"新しいタスクの実行"で"c:"などと入力してexplorerを起動させてやればよい。
3. おまけ:Desktop Heap Monitor で利用率を調べる
Desktop Heap Monitor を利用すれば現在の使用状況を調べられる。

Desktop Heap Monitorはデスクトップヒープとよばれる Windows の特別なメモリ領域のサイズや、現在の使用量などの情報をレポートするツールです。

Desktop Heap Monitor の インストールの仕方と使い方
■参考

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

DesktopHeapMonitor.png

11. 6月 2010 von memo-log
カテゴリ: パソコン |

コメント

コメント投稿

Required fields are marked *