One of the great features in Citrix Workspace Environment Management (WEM) is the ability to intelligently manage CPU usage. This is especially important in a shared desktop scenario – where the actions of one user could ruin the experience for another.
To test this I am going to demonstrate a user running SuperPI (a CPU stress testing tool) and how this can be managed with WEM.
We start with a Session Host virtual machine of the following specification:
In vSphere this host is limited to 2000mhz of processing power, to provide a limit that won’t be affected by other VMs running on my host, and to provide a CPU benchmark:
Next I logged on a user before any WEM config was applied, and ran SuperPI. Note that the user is able to use all of the processing power available:
This is also confirmed by the CPU utilisation within vSphere – you can see that at the time SuperPI was started the CPU utilisation rocketed to nearly 100%:
I then tested this with a WEM Configuration applied. I started by importing the recommended default settings provided by Citrix with the Software:
With the default settings in place, CPU usage protection applies when the CPU usage goes over 25%:
It’s worth noting when I ran SuperPI without any CPU protection the rest of the sessions felt sluggish – e.g. opening windows, launching notepad took significantly longer than would be considered normal. (Because the CPU was saturated with requests from SuperPI).
Next I ran SuperPI as a user logged on with WEM Configuration applied:
What’s very noticeable now is that the CPU usage of SuperPI varies greatly (before it was a constant 99%) – when launching other applications or items, the utilisation of the CPU by SuperPi drops significantly.
I noticed ranges from 65% down to 30%. This was more noticeable when launching other applications in other sessions – these were not sluggish or slow to respond. Each application launch was accompanied with a noticeable drop in usage by SuperPI to accommodate the new process.
This is the CPU management feature of WEM controlling this application – and making the experience better for all users on the Session Host.