I’ve been writing a series about Microsoft Windows 10 and how we can tune and deploy it in a VDI environment. Microsoft Windows 10 and to be more specific the 1607 build is some piece of work. I’ve been working in this field for a number of years, first VDI environment I set up was in 2008 and we need to rethink our sizing. Back in 2008 sizing was a huge issue as the 10k and 15k disk could only deliver that much IOPS, Citrix and VMware both had white papers that showed wrong numbers on read/write percentage as their use case was call centre based. We learned the hard way with some co-workers digging in and writing white papers that told the true story, 80-95% write and just a little bit of read in a production VDI environment for our customers with 8-10 apps open all day.

Disk alignment

Disk alignment for Windows XP, everyone ever deploying a VDI environment with Windows XP knows what I’m talking about. Microsoft Windows 7 changed things and at first, we also thought XP was better to tune. Now with Microsoft Windows 10 1607, we see resources soar higher than ever before and we need to rethink our sizing to make sure we can guarantee performance to customers. I’ve been digging in and talking to customers and co-workers and this is my thought on this.

This series consists of a couple of articles

  • Microsoft Windows builds, versions – Click here
  • Creating the virtual machine – Click here,
  • Installing Windows 10 – Click here.
  • Tuning Windows services and scheduled tasks – Click here.
  • Deploying the golden image (coming soon…. )
  • Resource usage of Windows 10 in a VDI environment, you are reading it

Resources notes from the field

Sizing of a VDI environment hasn’t changed, a desktop is still a desktop and you need CPU, RAM and IOPS. So when we size a VDI environment we calculate based on the type of user;

  • Task worker
  • Knowledge worker
  • Heavy worker
  • CAD worker

If we look at resource usage we see that these worker categories used to fall into the following categories (a bit from memory);

  • Task Worker: 1 vCPU, 2GB RAM,  300MHz
  • Knowledge worker: 2 vCPU, 2-4GB RAM, 500MHz
  • Heavy worker: 2 vCPU, 4GB RAM, 800MHz
  • CAD workers: 2-4 vCPU, 8GB RAM, 800MHz

These numbers were valid with Microsoft Windows 7 and I for one used that often in my designs. They worked fine, most our customers have 70/30 on heavy and knowledge workers, we don’t see the light or task worker that often. With Microsoft Windows 10 it seems that we need to reset the numbers. I’m using 1607 and I spoke to others that also use 1607 in VDI, 1607 is similar to the anniversary edition but with the crapplications like Edge. This edition it seems will need to be designed with the following number;

  • Task workers: 2 vCPU, 4GB RAM, 800MHz
  • Knowledge worker: 2 vCPU, 4GB RAM, 1000-1200MHz
  • Heavy worker: 2 vCPU, 4-6GB RAM, 1500MHz or even higher
  • CAD Worker: (have to monitor them to get a good number there)

There are a few thumb rules to keep in mind starting with Microsoft Windows 10 1607, these thumb rules come from our experience;

  • Never use less than 2 vCPU’s, Windows 10 no matter if you like it will be able to please anyone.
  • Less than 4GB of RAM will also never please anyone
  • 4GB of RAM is a good number for most knowledge workers and heavy worker we see in the field.

When Microsoft Windows 10 starts up and the user logs on CPU usage can go up to 6000 MHz for a period of time, make sure you have that kind of resource available.

Memory, one day overview

We monitor the environment during the day to keep track of it, we have an issue right now with Office 2013 and Windows 10 but more on that in a next blog


Below you see the memory usages of a default desktop over the course of a day, is stays stable. We hardly ever see any desktop with more memory usage than this one. 4GB of RAM seems to be enough for most use cases when sizing.



The most important resource to do the sizing on is the CPU, CPU is the bottleneck in most environments as you can easily ship in more IOPS or add more RAM but add more CPU often means add a node or a host. As you see below, and this is a normal user, usage of CPU goes up to over 1500MHz and as you see it stays there for most of the day.

Host memory

If we look at the overall memory of the host, one host we see that memory usage of the host is never that high. As you can see the top of the screenshot is 100% and the dark line is around 50%. Memory is no issue in this environment, same goes for IOPS.


Host CPU

If we look at host CPU we see that the host is busy during the day. Most hosts are around 90% all day long. We noticed some things in our software offering in the environment that might be causing this but even without that issue the default CPU resource usage is somewhere between 800 and 1600MHz.


My next blog will be a short one with the findings of our issue at a customer site. I got some more info after testing.

Hope this blog helps you when you design a VDI environment. Times are a changing as someone sang years back.. and Windows 10 with every build is certainly keeping us active.

3 thought on “Tuning Microsoft Windows 10 Part 5: Resource usage through the roof, new guidelines are needed”
  1. Would be very interesting to compare the CPU Usage results to a GPU-enabled environment. Have you done any thoughts on that?

    Best regards

    1. Hi,

      Yes we’ve done that.. need to make screen prints to write about it.
      Short story, the screen experience is better (not that much better but nicer) but the resource usage was the same or nearly the same.
      Would like to do a real comparison but it is live and we can’t. So we do our own little test and that seems to be showing no MHz improvement.
      My next focus will be on the lync plugin they got running.. perhaps Skype is having issues with it (don’t think so but options are running out)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.