Problem solve Get help with specific problems with your technologies, process and projects.

Server consolidation: Calculating CPU utilization

If you're doing a server consolidation through virtualization, you'll need to calculate how much CPU you'll need to have available on your host system for each guest. Here's the best way to determine this.

When it comes to performing a server consolidation, one of the hardest things is figuring out how many machines...

can be safely consolidated into one server without running into diminishing returns.

You may find that the machine you've set aside to perform the consolidation isn't going to be enough to handle the load you plan to throw at it. Conversely, you may find that you have a surplus of computing power that you can use to consolidate things even further.

Virtualization used to be very "lossy" when it came to CPU utilization. Over time, this loss has been narrowed down a great deal, thanks to several improvements. One of the biggest of these is hardware-assisted virtualization, although it's only available on the latest and greatest CPUs. Consequently, you'll need to devote some thought to how much CPU you'll need to have available on your host system for each guest.

One way to calculate this is to take the speed rating for each CPU, total it and use that as an index for how much CPU you'll need. For instance, if you're consolidating five 766 MHz servers, that might seem to indicate that you'd need at least a pair of 2 GHz CPUs to handle such a load. However, this number is potentially misleading, since most servers don't spend their entire time peaked at 100% CPU.

The best way to determine how much CPU you'll really need is to get live statistics from the machines in question over a period of time—a week's duty cycle, perhaps—and then compute the average CPU usage from each server. If one of the 766 MHz servers in question averages about 15% CPU usage, then you can use 0.15 x 766, or 114 MHz, as the server's actual usage.

You can even multiply this number by two, and use 228 MHz as a margin-of-safety computation. If all five machines averaged about that much usage, you could comfortably consolidate them into a single 2 GHz dual-core system with CPU to spare. And you'll need at least some CPU left over for the host to perform its own functions, so be sure to budget that back into your estimates—say, at least 20% of the CPU for native functions.

Note: If you are consolidating systems that ran on multiple processors, you need to be aware of the level of support provided for multiple CPUs in your virtualization solution. For instance, Microsoft Virtual Server 2005 R2 can make use of SMP on the host, but emulated systems cannot run as more than one CPU. However, VMware ESX Server does support guest OSes that run as SMP systems. The more individual cores or sockets you can add to the host server, the better performance you'll get regardless of whether or not the individual guest systems can use SMP.

Part 2 of this story will appear shortly and will cover server consolidation factors such as network bandwidth, memory and disk space.

About the author: Serdar Yegulalp is editor of the Windows Power Users Newsletter, which is devoted to hints, tips, tricks, news and goodies for Windows NT, Windows 2000 and Windows XP users and administrators. He has more than 10 years of Windows experience under his belt, and contributes regularly to and

More information on this topic:

Dig Deeper on Windows Server deployment