To resolve this problem, modify the desktop heap size by following these steps:
Click Start, type regedit in the Start Search box, and then select regedit.exe in the Programs list.
If you are prompted for an administrator password or for confirmation, type your password, or click Continue.
Locate and then select the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems registry subkey.
Right-click the Windows entry, and then select Modify.
In the Value data section of the Edit String dialog box, locate the SharedSection entry, and then increase the second value and the third value for this entry.
The second value of the SharedSection registry entry is the size of the desktop heap for each desktop that is associated with an interactive window station. The heap is required for each desktop that is created in the interactive window station (WinSta0). The value is in kilobytes (KB).
The third SharedSection value is the size of the desktop heap for each desktop that is associated with a non-interactive window station. The value is in kilobytes (KB).
We don’t recommend that you set a value that is over 20480 KB for the second SharedSection value.
By default, the Windows registry entry contains the following data in an x86-based version of Windows 7 Service Pack 1.
%SystemRoot%\system32\csrss.exe
ObjectDirectory=\Windows
SharedSection=1024, 12288,512
Windows=On
SubSystemType=Windows
ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off
MaxRequestThreads=16
Windows 7 Service Pack 1 (64 bit) / Windows Server 2008 R2, 2012 R2 (64 bit)
SharedSection=1024, 20480,768
Memory allocations are dynamic in later operating systems. There’s no limitation for memory allocation. However, if you allocate too much memory to the desktop heap, negative performance may occur. It’s why we don’t recommend that you set a value that is over 20480.
Greeting,
Rachel Gomez