Estimating Memory Requirements for Virtual Machine Desktops

<

RAM costs more for servers than it does for PCs. Because the cost of RAM is a high percentage of overall server hardware costs and total storage capacity needed, determining the correct memory allocation is crucial to planning your desktop deployment.

If the RAM allocation is too low, storage I/O can be negatively affected because too much Windows paging occurs. If the RAM allocation is too high, storage capacity can be negatively affected because the paging file in the guest operating system and the swap and suspend files for each virtual machine grow too large.

RAM Sizing Impact on Performance

When allocating RAM, avoid choosing an overly conservative setting. Take the following considerations into account:

VMware ESXi supports sophisticated memory resource management algorithms such as transparent page sharing and memory ballooning, which can significantly reduce the physical RAM needed to support a given guest RAM allocation. For example, even though 2GB might be allocated to a virtual desktop, only a fraction of that number is consumed in physical RAM.

Because virtual desktop performance is sensitive to response times, on the ESXi host, set nonzero values for RAM reservation settings. Reserving some RAM guarantees that idle but in-use desktops are never completely swapped out to disk. It can also reduce storage space consumed by ESXi swap files. However, higher reservation settings affect your ability to overcommit memory on an ESXi host and might affect VMotion maintenance operations.

RAM Sizing Impact on Storage

The amount of RAM that you allocate to a virtual machine is directly related to the size of the certain files that the virtual machine uses. To access the files in the following list, use the Windows guest operating system to locate the Windows page and hibernate files, and use the ESXi host's file system to locate the ESXi swap and suspend files.

Windows page file

By default, this file is sized at 150 percent of guest RAM. This file, which is by default located at C:\pagefile.sys, causes thin-provisioned storage to grow because it is accessed frequently. On linked-clone virtual machines, the page file and temporary files can be redirected to a separate virtual disk that is deleted when the virtual machines are powered off. Disposable page-file redirection saves storage, slowing the growth of linked clones and also can improve performance. Although you can adjust the size from within Windows, doing so might have a negative effect on application performance.

Windows hibernate file for laptops

This file can equal 100 percent of guest RAM. You can safely delete this file because it is not needed in View deployments.

ESXi swap file

This file, which has a .vswp extension, is created if you reserve less than 100 percent of a virtual machine's RAM. The size of the swap file is equal to the unreserved portion of guest RAM. For example, if 50 percent of guest RAM is reserved and guest RAM is 2GB, the ESXi swap file is 1GB. This file can be stored on the local data store on the ESXi host or cluster.

ESXi suspend file

This file, which has a .vmss extension, is created if you set the desktop pool logoff policy so that the virtual desktop is suspended when the end user logs off. The size of this file is equal to the size of guest RAM.

RAM Sizing for Specific Monitor Configurations When Using PCoIP

In addition to system memory, a virtual machine also requires a small amount of RAM on the ESXi host for video overhead. This VRAM size requirement depends in on the display resolution and number of monitors configured for end users. PCoIP Client Display Overhead lists the amount of overhead RAM required for various configurations. The amounts of memory listed in the columns are in addition to the amount of memory required for other PCoIP functionality.

Table 1. PCoIP Client Display Overhead

Display Resolution Standard

Width, in Pixels

Height, in Pixels

1-Monitor Overhead

2-Monitor Overhead

3-Monitor Overhead

4-Monitor Overhead

VGA

640

480

1.20MB

3.20MB

4.80MB

5.60MB

WXGA

1280

800

4.00MB

12.50MB

18.75MB

25.00MB

1080p

1920

1080

8.00MB

25.40MB

38.00MB

50.60MB

WQXGA

2560

1600

16.00MB

60.00MB

84.80MB

109.60MB

UHD (4K)

3840

2160

32.00MB

78.00MB

124.00MB

Not supported

For calculating system requirements, the VRAM values are in addition to the base system RAM for the virtual machine. Overhead memory is automatically calculated and configured when you specify the maximum number of monitors and select the display resolution in View Administrator.

If you use the 3D rendering feature and select Soft3D or vSGA, you can recalculate using the additional VRAM values in a View Administrator control for configuring VRAM for 3D guests. Alternatively, you can specify the exact amount of VRAM if you elect to manage VRAM by using vSphere Client. With the 3D rendering feature, you can select from the following options:

The Soft3D (software-accelerated graphics) feature, available with vSphere 5.0 and later, allows you to use 3D applications such as Windows Aero themes or Google Earth. By default, the amount of VRAM set for this feature is 64MB. The maximum number of monitors is 2 and the maximum resolution is 1920 x 1200.

The Virtual Shared Graphics Acceleration (vSGA) feature, available with vSphere 5.1 and later, allows multiple virtual machines to share the physical GPUs on the ESXi hosts. You can use 3D applications for design, modeling, and multimedia. By default, the amount of VRAM set for this feature is 96MB. The maximum number of monitors is 2 and the maximum resolution is 1920 x 1200.

The Virtual Dedicated Graphics Acceleration (vDGA) feature, available with vSphere 5.5 and later, dedicates a single physical GPU (graphical processing unit) on an ESXi host to a single virtual machine. This feature provides high-end, hardware accelerated workstation graphics. When you create the virtual machine in vSphere, you are prompted to reserve all memory. For information about supported display resolutions, see the vendor's documentation. For a list of vendors, see the VMware Compatibility Guide.

The NVIDIA GRID vGPU (shared GPU hardware acceleration) feature, available with vSphere 6.0 and later, allows a physical GPU on an ESXi host to be shared among virtual machines. This feature provides high-end, hardware accelerated workstation graphics. When you create the virtual machine in vSphere, you are prompted to reserve all memory. For information about supported display resolutions, see NVIDIA GRID vGPU Deployment Guide for VMware Horizon 6.1.

By default, the multiple-monitor configuration matches the host topology. There is extra overhead precalcuated for more than 2 monitors to accommodate additional topology schemes. If you encounter a black screen when starting a remote desktop session, verify that the values for the number of monitors and the display resolution, which are set in View Administrator, match the host system, or manually adjust the amount of memory by using selecting Manage using vSphere Client in View Administrator and then set the total video memory value to maximum of 128MB.

RAM Sizing for Specific Workloads and Operating Systems

Because the amount of RAM required can vary widely, depending on the type of worker, many companies conduct a pilot phase to determine the correct setting for various pools of workers in their enterprise.

A good starting point is to allocate 1GB for 32-bit Windows 7 or later desktops and 2GB for 64-bit Windows 7 or later desktops. If you want to use one of the hardware accelerated graphics features for 3D workloads, VMware recommends 2 virtual CPUs and 4GB of RAM. During a pilot, monitor the performance and disk space used with various types of workers and make adjustments until you find the optimal setting for each pool of workers.