- Virtual machine sizing guidelines
- Multi-session recommendations
- Recommended VM sizes for standard or larger environments
- All VMs should have more than two cores
- VMs should not have more than 32 cores
- Single-session recommendations
- General virtual machine recommendations
- Test your workload
- Create a virtual machine in Hyper-V
- Create a virtual machine by using Hyper-V Manager
- Create a virtual machine by using Windows PowerShell
- Options in Hyper-V Manager New Virtual Machine Wizard
- VMware Workstation 4
Virtual machine sizing guidelines
Whether you’re running your virtual machine on Remote Desktop Services or Windows Virtual Desktop, different types of workloads require different session host virtual machine (VM) configurations. For the best possible experience, scale your deployment depending on your users’ needs.
Multi-session recommendations
The examples in this section are generic guidelines and you should only use them for initial performance estimates. The following tables list the maximum suggested number of users per virtual central processing unit (vCPU) and the minimum VM configuration for each workload. These recommendations are based on Remote Desktop workloads.
The following table shows an example of a smaller, proof-of-concept scenario with a user workload of less than 20 users:
Workload type | Maximum users per vCPU | vCPU/RAM/OS storage minimum | Example Azure instances | Profile container storage minimum |
---|---|---|---|---|
Light | 4 | 4 vCPUs, 16 GB RAM, 32 GB storage | D4s_v3, F4s_v2, D4as_v4 | 30 GB |
Medium | 4 | 4 vCPUs, 16 GB RAM, 32 GB storage | D4s_v3, F4s_v2, D4as_v4 | 30 GB |
Heavy | 2 | 4 vCPUs, 16 GB RAM, 32 GB storage | D8s_v3, F8s_v2, D8as_v4, D16s_v3, F16s_v2, D16as_v4 | 30 GB |
Power | 1 | 6 vCPUs, 56 GB RAM, 340 GB storage | D4s_v3, F4s_v2, D4as_v4, NV12, NVv4 | 30 GB |
This table shows examples of standard or larger user workloads with 20 or more users:
Workload type | Maximum users per vCPU | vCPU/RAM/OS storage minimum | Example Azure instances | Profile container storage minimum |
---|---|---|---|---|
Light | 6 | 8 vCPUs, 16 GB RAM, 16 GB storage | D8s_v3, F8s_v2, D8as_v4, D16s_v3, F16s_v2, D16as_v4 | 30 GB |
Medium | 4 | 8 vCPUs, 16 GB RAM, 32 GB storage | D8s_v3, F8s_v2, D8as_v4, D16s_v3, F16s_v2, D16as_v4 | 30 GB |
Heavy | 2 | 8 vCPUs, 16 GB RAM, 32 GB storage | D8s_v3, F8s_v2, D8as_v4, D16s_v3, F16s_v2, D16as_v4 | 30 GB |
Power | 1 | 6 vCPUs, 56 GB RAM, 340 GB storage | D8s_v3, F8s_v2, D8as_v4, D16s_v3, F16s_v2, D16as_v4, NV12, NVv4 | 30 GB |
Recommended VM sizes for standard or larger environments
We recommend limiting VM size to between 4 vCPUs and 24 vCPUs. We don’t recommend using 2 cores or 32 or more cores for standard and larger environments. Why is that?
All VMs should have more than two cores
Windows 10 and its UI components rely on using at least two parallel threads for some of the heavier rendering operations. Having multiple users on a two-core VM will lead to the UI and apps becoming unstable, which lowers the quality of user experience. Four cores is the lowest possible number of cores that a stable multi-user VM can have.
VMs should not have more than 32 cores
As the number of cores increase, the system’s synchronization overhead also increases. For most workloads, at around 16 cores the return on investment gets lower, with most of the extra capacity being offset by synchronization overhead. It is likely to get more capacity from two 16 core VMs as opposed to one 32 core one.
The recommended range between 4 and 24 cores will generally provide better capacity returns for your users as you increase the number of cores. For example, let’s say you have 12 users sign in at the same time to a VM with four cores. The ratio is three users per core. Meanwhile, on a VM with eight cores and 14 users, the ratio is 1.75 users per core. The 1.75 ratio scenario offers greater burst capacity for your applications have short-term CPU demand.
For scenarios with 20 or more connections on a single VM, several smaller VMs would perform better than one or two large VMs. For example, if you’re expecting 30 or more users to simultaneously sign in on the same session host within 10 minutes, two eight-core VMs will handle the workload better than one 16-core VM. You can also use breadth-first load balancing to evenly distribute users across different VMs.
It’s better to use a large number of smaller VMs instead of a few large VMs because it’s easier to shut down VMs that need to be updated or aren’t currently in use. With larger VMs, you’re guaranteed to always have at least one user signed in at any time, which prevents you from shutting down the VM. When you have many smaller VMs, it’s more likely you’ll have some that don’t have any users signed in. You can safely shut these unused VMs to conserve resources, making your deployment more resilient, easier to maintain, and less expensive.
Single-session recommendations
For VM sizing recommendations for single-session scenarios, we recommend at least two physical CPU cores per VM (typically four vCPUs with hyperthreading). If you need more specific VM sizing recommendations for single-session scenarios, ask the software vendors specific to your workload. VM sizing for single-session VMs will likely align with physical device guidelines.
General virtual machine recommendations
We recommend you use Premium SSD storage in your OS disk for production workloads that require a service level agreement (SLA). For more details, see the SLA for virtual machines.
Graphics processing units (GPUs) are a good choice for users who regularly use graphics-intensive programs for video rendering, 3D design, and simulations. To learn more about graphics acceleration, see Choose your graphics rendering technology. Azure has several graphics acceleration deployment options and multiple available GPU VM sizes. Learn more at GPU optimized virtual machine sizes.
B-series burstable VMs are a good choice for users who don’t always need maximum CPU performance. For more information about VM types and sizes, see Sizes for Windows virtual machines in Azure and the pricing information on our Virtual Machine series page.
Test your workload
Finally, we recommend you use simulation tools to test your deployment with both stress tests and real-life usage simulations. Make sure your system is responsive and resilient enough to meet user needs, and remember to vary the load size to avoid surprises.
Create a virtual machine in Hyper-V
Applies To: Windows 10, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019
Learn how to create a virtual machine by using Hyper-V Manager and Windows PowerShell and what options you have when you create a virtual machine in Hyper-V Manager.
Create a virtual machine by using Hyper-V Manager
Open Hyper-V Manager.
From the Action pane, click New, and then click Virtual Machine.
From the New Virtual Machine Wizard, click Next.
Make the appropriate choices for your virtual machine on each of the pages. For more information, see New virtual machine options and defaults in Hyper-V Manager later in this topic.
After verifying your choices in the Summary page, click Finish.
In Hyper-V Manager, right-click the virtual machine and select connect.
In the Virtual Machine Connection window, select Action > Start.
Create a virtual machine by using Windows PowerShell
On the Windows desktop, click the Start button and type any part of the name Windows PowerShell.
Right-click Windows PowerShell and select Run as administrator.
Get the name of the virtual switch that you want the virtual machine to use by using Get-VMSwitch. For example,
Use the New-VM cmdlet to create the virtual machine. See the following examples.
If you may move this virtual machine to a Hyper-V host that runs Windows Server 2012 R2, use the -Version parameter with New-VM to set the virtual machine configuration version to 5. The default virtual machine configuration version for Windows Server 2016 isn’t supported by Windows Server 2012 R2 or earlier versions. You can’t change the virtual machine configuration version after the virtual machine is created. For more information, see Supported virtual machine configuration versions.
Existing virtual hard disk — To create a virtual machine with an existing virtual hard disk, you can use the following command where,
-Name is the name that you provide for the virtual machine that you’re creating.
-MemoryStartupBytes is the amount of memory that is available to the virtual machine at start up.
-BootDevice is the device that the virtual machine boots to when it starts like the network adapter (NetworkAdapter) or virtual hard disk (VHD).
-VHDPath is the path to the virtual machine disk that you want to use.
-Path is the path to store the virtual machine configuration files.
-Generation is the virtual machine generation. Use generation 1 for VHD and generation 2 for VHDX. See Should I create a generation 1 or 2 virtual machine in Hyper-V?.
-Switch is the name of the virtual switch that you want the virtual machine to use to connect to other virtual machines or the network. See Create a virtual switch for Hyper-V virtual machines.
This creates a generation 2 virtual machine named Win10VM with 4GB of memory. It boots from the folder VMs\Win10.vhdx in the current directory and uses the virtual switch named ExternalSwitch. The virtual machine configuration files are stored in the folder VMData.
New virtual hard disk — To create a virtual machine with a new virtual hard disk, replace the -VHDPath parameter from the example above with -NewVHDPath and add the -NewVHDSizeBytes parameter. For example,
New virtual hard disk that boots to operating system image — To create a virtual machine with a new virtual disk that boots to an operating system image, see the PowerShell example in Create virtual machine walkthrough for Hyper-V on Windows 10.
Start the virtual machine by using the Start-VM cmdlet. Run the following cmdlet where Name is the name of the virtual machine you created.
Connect to the virtual machine by using Virtual Machine Connection (VMConnect).
Options in Hyper-V Manager New Virtual Machine Wizard
The following table lists the options you can pick when you create a virtual machine in Hyper-V Manager and the defaults for each.
Page | Default for Windows Server 2016 and Windows 10 | Other options |
---|---|---|
Specify Name and Location | Name: New Virtual Machine. Location: C:\ProgramData\Microsoft\Windows\Hyper-V\. | You can also enter your own name and choose another location for the virtual machine. This is where the virtual machine configuration files will be stored. |
Specify Generation | Generation 1 | You can also choose to create a Generation 2 virtual machine. For more information, see Should I create a generation 1 or 2 virtual machine in Hyper-V?. |
Assign Memory | Startup memory: 1024 MB Dynamic memory: not selected | You can set the startup memory from 32MB to 5902MB. You can also choose to use Dynamic Memory. For more information, see Hyper-V Dynamic Memory Overview. |
Configure Networking | Not connected | You can select a network connection for the virtual machine to use from a list of existing virtual switches. See Create a virtual switch for Hyper-V virtual machines. |
Connect Virtual Hard Disk | Create a virtual hard disk Location: C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\ VMware Workstation 4Starting a Virtual Machine on a Windows Host Starting a Virtual Machine on a Windows Host
The VMware Workstation window opens. Select the name of the virtual machine you want to use in the Favorites list at the left of the Workstation window. If the virtual machine you want to use is not shown there, choose File > Open and browse to the configuration (.vmx) file for the virtual machine you want to use. (On a Linux host, a virtual machine created with an earlier VMware product may have a configuration file with a .cfg extension.) To add that virtual machine to the Favorites list so you can open it easily the next time you want to use it, choose File > Add to Favorites. Note: By default, VMware Workstation 4 stores virtual machines in the My Documents folder of the user who is logged on when the virtual machine is created. On Windows Server 2003, Windows XP and Windows 2000, the default folder is C:\Documents and Settings\ \My Documents\My Virtual Machines\ . On Windows NT, the default folder is C:\WINNT\Profiles\ \Personal\My Virtual Machines\ . Removing a Name from the Favorites List Removing a Name from the Favorites List You can remove the name of a virtual machine from the Favorites list at any time. Removing the name from the list does not affect the virtual machine’s files. You can add the virtual machine to the list again at any time. To remove a name from the Favorites list, take these steps.
|