IMPORTANT: This article contains information about modifying the registry.
Before you modify the registry, make sure to back it up and make sure that you
understand how to restore the registry if a problem occurs. For information
about how to back up, restore, and edit the registry, click the following
article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
RESOLUTION
WARNING: If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using Registry
Editor incorrectly. Use Registry Editor at your own
risk.
To fix this behavior, you must edit the registry and
restart the computer that is affected.
- Run the Registry Editor(Regedt32.exe).
- Under the HKEY_LOCAL_MACHINE subtree, go to the following
subkey:
\System\CurrentControlSet\Control\Session Manager\
SubSystems\Windows
The default data for this value may look something like the
following (all on one line):
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows
SharedSection=1024,3072 Windows=On SubSystemType=Windows
ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off
MaxRequestThreads=16
You must make the following change to this value:
Scan along the line until you reach the part that defines the
SharedSection values and add ",512" after the second number. This value should
now look something like the following:
%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
After making this change, quit Regedt32, and then
restart the server.
This change limits the size of desktop heaps
created by non-interactive services to 512 KB, which should be ample for most
services.
Adding this optional third value defines the desktop heap
size for non-interactive desktops (services) as 512K. By default, they may use
the same desktop heap size as interactive desktops, which is defined by the
second value (3072, or 3 MB). The minimum that this third value can be set to
is 128. Any attempts to set this value to less than 128 result in 128 being
used. If you set this value to 512, approximately 90 services can be started
before this behavior reoccurs.