Difference between revisions of "Desktop Heap Limitations"

(Tip for making it possible to have many window opened.)
 
Line 1: Line 1:
 +
[[Category:Windows]]
 
The following is taken from [http://blogs.msdn.com/tonyschr/archive/2005/05/25/desktop-heap-limitations.aspx Tony Schreiner's Weblog]
 
The following is taken from [http://blogs.msdn.com/tonyschr/archive/2005/05/25/desktop-heap-limitations.aspx Tony Schreiner's Weblog]
  

Revision as of 16:39, 28 March 2007

The following is taken from Tony Schreiner's Weblog

If you have a lot of applications open one thing you might notice is that Windows -- even XP -- will reach a point where no more windows can be opened. For me, IE hits this point after about 40-50 windows. Depending on what else you have running, you may be able to open more or less.

Usually this is not a problem, but if you find yourself running into this limit the workaround is to increase the Desktop Heap. To do this, edit the following key in the registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems]

So that it has the following value:

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

and change 3072 to a larger value such as 4096. Always use caution when editing your registry; standard disclaimers apply.

For more information see: http://support.microsoft.com/default.aspx?scid=kb;EN-US;184802

Note: 64-bit versions of Windows have a much larger default desktop heap limit, and you should not hit this issue.

EDIT: The new NT Debugging blog has a post that talks in greater deal about Desktop Heap and how to troubleshoot issues: http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx