Applications may not run correctly in a Terminal Services environment (840342)



The information in this article applies to:

  • Microsoft Windows Server 2003, 64-Bit Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Standard Edition

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

When you use a Terminal Services session to connect to a Windows Server 2003-based computer that has Terminal Services installed, and then you try to run a program on the Terminal server from a client computer, the program that you are trying to run may not run correctly.

CAUSE

This problem occurs if the session memory cannot allocate graphical user interface (GUI) objects to applications. The session memory in a Terminal server manages the allocation of GUI objects to different applications. If the session memory that is assigned to GUI objects is not sufficient, GUI objects will not be correctly allocated to applications that run on the Terminal server. This may cause applications not to run correctly.

RESOLUTION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To configure the session memory, you can manually modify the registry entries for the session memory in the registry. The registry entry for modifying the session memory is located under the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

The two registry entries that manage the session memory are SessionViewSize and SessionPoolSize. The SessionViewSize registry entry specifies the amount of memory that is reserved for desktop heaps. The default value of this entry is 20 megabytes (MB). This memory is allocated for applications to use GUI objects such as fonts, menus, and windows.

The SessionPoolSize registry entry specifies the session paged pool in megabytes. The default value for the session paged pool is 16 MB. If sufficient memory is available, Windows may also allocate 32 MB. This memory is used for video driver allocations.

In a 64-bit operating system, the default value for the SessionViewSize entry is 104 MB and the default value for the SessionPoolSize entry is 64 MB. The best way to increase the memory allocated to both the SessionViewSize and SessionPoolView entries is to increase the value of memory allocated by 16 MB, and then see whether the services are available to run applications after you increase the value of memory allocated to the SessionViewSize and SessionPoolSize entries. If not, increase the value of memory allocated by 16 MB and try again.

To change the values of the SessionViewSize and SessionPoolSize registry entries, use Registry Editor to edit the DWORD values of both registry entries. Also, you can change SessionViewSize and SessionPoolSize registry entry values separately.

In an ideal condition, the total memory allocated to the SessionViewSize and SessionPoolSize registry entries must not be more than 512 MB. You may also increase the memory allocated to the SessionViewSize and SessionPoolSize entries, depending upon your RAM and other related registry values. If you allocate more memory to increase the desktop heap, you may reduce the memory that allocated by the Terminal server to other resources, such as nonpaged pool, paged pool, and system cache. This will affect the performance of the Terminal server. Also, when more memory is allocated to the SessionViewSize and SessionPoolSize entries, the memory allocated to map the kernel virtual space will be reduced. This in turn may make the Terminal server to support only a limited number of users.

Modification Type:MajorLast Reviewed:11/2/2005
Keywords:kbwinservsetup kbprb KB840342 kbAudITPRO