I’m working when I’m Idle

I’m working when I’m idle, well from my desktop’s perspective that is the case.  We all know that when a desktop starts, when a user logs on, when a user is working and when a user logs off that user has an impact on the system resources: CPU, Memory and Disk.  When the user is idle, we expect CPU and Disk to idle as well.  But is this accurate?   Take a look at my perfmon graph from my desktop for almost an entire workday:

As you can see, when I’m working my CPU and disk activity increases.  CPU increases to 25-30% and disk IOPS jumps to roughly 8 write IOPS and minimal read IOPS.  This is all as expected.  However, when I’m idle, my CPU utilization does drop, but not to 0%.  My disk IOPS does drop, but not to 0.  In fact, my write IOPS only drops to 4 IOPS.
Why? I’m idle. Doesn’t that mean I’m not consuming resources?  Time to put on my Sherlock Holmes hat and find out.

First, I had to look at the applications I was running:  Outlook, TweetDeck, Yahoo IM, Firefox, Word, OneNote.

Second, I had to understand what those applications do, which was easy because I use these applications every day.  TweetDeck is refreshing my Twitter feeds every few minutes.  Outlook is downloading and syncing my email every few minutes.  Firefox had 5 different pages open, many of which had constantly updating data.  Are we starting to see something interesting yet?

Evidently my dear Watson, even though I’m idle, my applications are not.  My applications are still active.  My applications are still using CPU resources. My applications are still storing information to disk.  Also, my operating system is still running processes as well (services, event logs, etc), which also have an impact on the resources.

This is an important realization in that your users still consume a fair amount of resources while at lunch or in meetings.   So when trying to calculate the number of IOPS you will generate from a single hypervisor server, you need to determine what percentage of desktops on that server are in which stage:

  • Bootup
  • Logon
  • Working
  • Idle
  • Logoff

By calculating this out, you will get a better idea of what your storage must be capable of supporting.

Now if I can only get my boss to believe that I’m working while I’m sleeping then we would be golden.
Daniel Feller
Lead Architect – Worldwide Consulting Solutions
Citrix Systems, Inc.
Blog: Virtualize My Desktop