Buy the ARP T-Shirt! BIOS Optimization Guide Money Savers!
 

 17 July 2005
 N/A
  N/A
 Guides
 Dr. Adrian Wong
 1.0
 Discuss here !
 97975
 
   
Desktop Graphics Card Comparison Guide Rev. 33.0
Covering 628 desktop graphics cards, this comprehensive comparison allows you ... Read here
BIOS Option Of The Week - Virtualization Technology
Since 1999, we have been developing the BIOS Optimization Guide, affectionately known... Read here
   
Buy The BOG Book Subscribe To The BOG! Latest Money Savers!
Windows Desktop Heap Tweak Guide
Digg! Reddit!Add to Reddit | Bookmark this article:

The Solution

To correct this problem, all we need to do is increase the size of the desktop heap. That sounds simple but it actually requires us to edit the registry using the Registry Editor.

Editing the registry comes with a certain degree of risk. You may cause serious problems that may require you to reinstall Windows. If you have experience editing the registry, then doing so may not pose much of a problem. But if you have never tried editing the registry before, it's highly advisable you obtain the assistance of someone with experience.

Okay, if you are ready, let's get on with it!

    1. Run the Registry Editor (usually found as drive:\Windows\regedit.exe).
    2. Go to HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> Session Manager -> SubSystems.

    1. Double-click on the Windows string to edit it.

    1. If you check the Value data, it should be something like this :-

%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

    1. The portion of interest is "SharedSection=1024,3072,512".
      The three values under Shared Section determines how much memory in kilobytes (KB) is allocated to each component of the desktop heap.

      The first value is the shared heap size, common to all desktops. It's used to store the global handle table and shared system settings.
      By default, it's set to 1024KB. You generally do not need to modify this value.

      The second value is the desktop heap size for each desktop associated with the "interactive" window station. It's used to store user objects like hooks, menus, strings and windows.
      By default, it's set to 3072KB. The more users log into the system, the more desktops are created. Consequently, the total "interactive" desktop heap size will increase to reflect the number of desktops created. But each desktop will only have an "interactive" desktop heap of 3072KB.

      The third value is the desktop heap size for each desktop associated with the "non-interactive" window station.
      By default, it's set to 512KB. But if this value is not present, the size of the "non-interactive" window station will be the same as that of the "interactive" window station.
      Every service process created under a user account will be given a new desktop in a "non-interactive" window station created by the Service Control Manager (SCM). Therefore, each of these services will consume the amount of desktop heap, as specified in the third SharedSection value.

    2. The total desktop heap used in both interactive and non-interactive window stations must fit into the 48MB system-wide buffer.

      Consequently, decreasing the second or third SharedSection values will increase the number of desktops that can be created. But it will reduce the number of hooks, menus, strings and windows that can be created within each desktop.

      On the other hand, increasing the second of third SharedSection values will reduce the number of desktops that can be created. But it will increase the number of hooks, menus, strings and windows that can be created within each desktop.

      In addition, increasing the third SharedSection value will reduce the number of user account services that can run successfully on the system.
    3. To solve the problem we are facing, just increase the desktop heap for "interactive" window stations, which is the second SharedSection value. By default, it's set to 3072KB.
      Try increasing it to 4096KB or to a higher value that addresses your problem. But please note that increasing this value will reduce the number of desktops that can be created.
    4. Reboot the system for the changes to take effect.

That's it! Your system will now have a larger "interactive" desktop heap!



 

 
   
Camera Shootout : The Samsung Galaxy S6 & Galaxy S6 Edge Vs. The Apple iPhone 6
Western Digital Blue (WD10SPCX) 1 TB Slim Mobile Hard Disk Drive
OCZ RevoDrive 80 GB PCI Express Solid State Drive Review Rev. 2.0
Computex 2008 - Live From Taipei
NVIDIA Tegra - Intel Atom's Silver Bullet? Rev. 2.0
PC Buying Guide
Taskbar Shuffle Review
Compression Comparison Guide Rev. 2.0
Gainward BLISS 7300 GT PCX Golden Sample Graphics Card Review
The Task Killer In Windows XP

 


Copyright © Tech ARP.com. All rights reserved.