デスクトップヒープ

デスクトップヒープとはWindows NT系において、画面部品のデータを管理するメモリ領域のことである。デスクトップアプリケーションヒープとも呼ばれる。Windows 9x系ではシステムリソースと呼ばれた。システムリソースと違い、レジストリを書き換えることで領域の容量を変更することが出来る。

Windows XPでは各セッションのデフォルトウィンドウステーションにおいて、3MBが確保されている。この3MBにより、15,000個の画面コントロールが扱える。しかしながら、ウィンドウ1枚につきコントロールが何十個も張り付いている関係上、数十個のウィンドウを開くことで枯渇してしまうこともある。枯渇すると0xc0000142のエラーが発生することが多い。非対話ウィンドウステーションのデスクトップヒープ（Windowsサービスのプロセスのデスクトップヒープ）は512KBと少ない。Windows 2000の場合1プロセス当り5KB程度消費する。現在の利用量はDesktop Heap Monitorを利用して調査が可能である。大量のウィンドウおよびマルチプロセス構成で大量のプロセスを生成する製品を利用する場合には注意が必要である。

脚注

外部リンク
Desktop Heap Monitor 8.1

Windows NT系