Memory Management

These settings let you optimize application memory usage through Workspace Environment Management (WEM).

Memory management

If these settings are enabled, WEM calculates how much memory a process is using and the minimum amount of memory a process needs without losing stability. WEM considers the difference as excess memory. When the process becomes idle, WEM releases the excess memory that the process consumes to the page file, and optimizes the process for subsequent launches. Usually, an application becomes idle when it is minimized to the task bar.

When applications are restored from the task bar, they initially run in their optimized state but can continue to consume additional memory as needed.

Similarly, WEM optimizes all applications that users are using during their desktop sessions. If there are multiple processes over multiple user sessions, all memory that is freed up is available for other processes. This behavior increases user density by supporting a greater number of users on the same server.

Optimize Memory Usage for Idle Processes. Forces processes that remain idle for a specified time to release excess memory until they are no longer idle.

Idle Sample Time (min). Lets you specify the length of time that a process is considered idle after which it is forced to release excess memory. During this time, WEM calculates how much memory a process is using and the minimum amount of memory a process needs without losing stability. The default value is 120 minutes.

Idle State Limit (percent). Lets you specify the percentage of CPU usage below which a process is considered idle. The default is 1%. We recommend that you do not use a value greater than 5%. Otherwise, a process being actively used can be mistaken for idle, causing its memory to be released.

Do Not Optimize When Total Available Memory Exceeds (MB). Lets you specify a threshold limit below which WEM optimizes memory usage for idle applications.

Exclude Processes from Memory Usage Optimization. Lets you exclude processes from memory usage optimization. Specify the process name, for example, notepad.exe.

WEM does not optimize application memory usage for the following system processes:

  • rdpshell
  • wfshell
  • rdpclip
  • wmiprvse
  • dllhost
  • audiodg
  • msdtc
  • mscorsvw
  • spoolsv
  • smss
  • winlogon
  • svchost
  • taskmgr
  • System Idle Process
  • System
  • LSASS
  • wininit
  • msiexec
  • services
  • csrss
  • MsMpEng
  • NisSrv
  • Memory Compression

Memory usage limit

Enable Memory Usage Limit for Specific Processes. Lets you limit the memory usage of a process by setting an upper limit for the memory the process can consume.

Warning:

Applying memory usage limits to certain processes might have unintended effects, including slow system responsiveness.

  • Add. Lets you add a process to which you want to apply a memory usage limit.

  • Remove. Lets you delete an item.

  • Edit. Lets you edit an item.

  • Dynamic Limit. Lets you apply a dynamic limit to the specified process. This setting dynamically limits the amount of memory allocated to the specified process. If applied, enforces memory usage limits depending on available memory. Therefore, the memory that the specified process consumes might exceed the specified amount.

  • Static Limit. Lets you apply a static limit to the specified process. This setting always limits the amount of memory allocated to the specified process. If applied, restricts the process from consuming more than the specified amount of memory regardless of the amount of available memory. As a result, the memory that the specified process consumes is capped at the specified amount.

To add a process:

  1. On the Administration Console > System Optimization > Memory Management > Memory Usage Limit tab, click Add.

  2. In the Add Process window, type the name of the process you want to add (for example, notepad.exe.), configure the memory usage limit, select a limit mode from the drop-down menu, and then click OK.

To edit an item, select the item and click Edit.

To remove an item, select the item and click Remove.

To apply a dynamic limit to an item, select the item and click Dynamic Limit.

To apply a static limit to an item, select the item and click Static Limit.

Memory Management