When you create Horizon FLEX virtual machines, you can set the policy to automatically optimize the virtual machine's virtual processors and memory to fit the client host operating system.

When creating Horizon FLEX virtual machines, you might not know the CPU and memory constraints of the client end user's host operating system. If the number of CPUs and memory size of the Horizon FLEX virtual machine are too large for the user's host operating system, the virtual machine cannot open. In this case, the client end user's host operating system is oversubscribed.

By default, the number of virtual processors and memory size of a Horizon FLEX virtual machine are optimized to fit the end client's host operating system. You can enable or disable the Horizon FLEX virtual machine optimization by using the Optimize CPU and memory policy setting. See Configure a General Policy for a Horizon FLEX Image.

Virtual machine optimization is enabled by default if a current Horizon FLEX client connects to an older Horizon FLEX server version that does not support optimization.

Note

If you provide a Horizon FLEX 1.7 virtual machine to a user running an earlier version of a supported client, the CPU and memory optimization is not supported and the client's host operating system can be oversubscribed. To prevent oversubscription, client end users must upgrade to the supported Horizon FLEX client version.

The number of virtual processor cores allocated to a virtual machine is limited to no more than 50 percent of cores on the host. The memory size for a virtual machine is limited by the reserved memory size for all running virtual machines on the host. The limit is approximately 75 percent of the host memory, depending on the platform.

The following examples show how virtual processors for Horizon FLEX virtual machines are optimized by using the Optimize CPU and memory policy setting.

Virtual Processor Optimization Examples

Example

Horizon FLEX Virtual Machine

Client Host

Optimization Result

Example 1

12 sockets with 1 core per socket = 12 cores

8 cores

Virtual machine has 4 cores (4 sockets * 1 core per socket = 4 cores).

Example 2

4 sockets with 2 cores per socket = 8 cores

12 cores

Virtual machine has 4 cores (4 sockets * 1 core per socket = 4 cores).

Note

The number of cores is always reduced to the maximum number that can be divided by the number of sockets.

Example 3

1 socket with 2 cores per socket = 2 cores

8 cores

Virtual machine has 2 cores.

The following examples show how memory for Horizon FLEX virtual machines is optimized by using the Optimize CPU and memory policy setting.

Memory Optimization Examples

Example

Horizon FLEX Virtual Machine

Client Host

Optimization Result

Example 1

10 GB of memory allocated

12 GB of reserved memory

Horizon FLEX virtual machine is allowed the full 10-GB memory allocation.

Example 2

10 GB of memory allocated

2 GB of reserved memory

Horizon FLEX virtual machine is automatically scaled down to 2 GB of memory.