• Insights

Think that screensaver doesn’t matter in your virtual machine?

Kraft Kennedy

< 1 min read

All Insights

For years the best practice has been to disable screensavers on virtual machines.  Screensavers take memory and CPU cycles to run and that can hurt consolidation ratios, especially when there is no reason to run a screensaver on a server VM.  After all, why run a screensaver on a server that doesn’t actually connect to a monitor?  Seems obvious and almost unnecessary to bring up in 2009.

While working on a recent VDI project, I noticed unexpectedly high CPU utilization on a seemingly idle virtual desktop.  Turns out that the desktop image we were given had the 3D Flying Objects screensaver enabled.  When it kicked in after the desktop went idle it started taking a fair amount of the CPU.  How much CPU it was using might surprise you.  Take a look:

High CPU utilization when screensaver kicks in
High CPU utilization when screensaver kicks in

That ended up being around 900MHz of a modern Intel X5460 CPU.  If this was lunch time and 15 people left their VDI session idle, this easily could have caused high CPU utilization across the entire ESX host and hurt performance for everyone.

Most organizations require that a screensaver kick in after a set period of idle time to protect access to the desktop.  A much better alternative is to use the Blank screensaver available in Windows XP/Vista/7 to protect the screen and require a password to unlock.  You get the protection without the unnecessary drain on the CPU.