When you run a program on the Terminal Server from a client computer, the program may not run correctly if it cannot allocate enough session memory.

By default, the desktop heap is 20 MB, 104 MB for 64-bit operating systems, which is allocated for GUI objects, such as fonts, menus, and windows. The session paged pool defaults to 16 MB, 32 MB if enough memory is available, and is used for video driver allocations. The 64-bit operating systems defaults the session paged pool to 64 MB.

If you have enough RAM, you can adjust these values using the registry.

NOTE: Increasing the amount of RAM allocated to the desktop heap and session paged pool decreases the amount of memory available to other Terminal Services resources, and to the kernel virtual space, which may reduce the number of clients that the Terminal Server can support.

The SessionViewSize Value Name, a REG_DWORD data type, specifies the size of the desktop heap.

The SessionPoolSize Value Name, a REG_DWORD data type, specifies the size of the session paged pool.

Both Value Names are located in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management key.

You can increase each Value Name separately. The sum of the data values MUST NOT exceed 512 MB.

NOTE: When increasing these data values, use 16 MB intervals. If this doesn't solve the problem after restarting the computer, increase by another 16 MB, restart, and try again.