Citrix Workspace Environment Management – CPU Management

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.