You can set the policy for a Horizon FLEX image 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 Optimize memory policy settings. See Configure a General Policy for a Horizon FLEX Image. If you disable virtual machine optimization, the Horizon FLEX virtual machine must meet certain requirements. See Considerations for Creating Horizon FLEX Virtual Machines.

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.

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.

Virtual Processor Optimization

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

Table 1. 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.

Memory Optimization

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

Table 2. 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.