Desktop Heap Limitations

From EiffelStudio: an EiffelSoftware project
Revision as of 00:43, 29 March 2007 by Manus (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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]

Which usually 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.

Note: 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

Desktop Heap Information Monitor Tool

You can download the following tool from Microsoft: http://www.microsoft.com/downloads/details.aspx?FamilyID=5cfc9b74-97aa-4510-b4b9-b2dc98c8ed8b&DisplayLang=en