The primary purpose of any virtualization solution is to act as a referee between virtual machines (which are always asking for access to hardware resources) and the underlying hardware itself (which can only respond to a limited number of requests at a time). In this article, I'll cover how you can monitor CPU and memory resources.
Getting host hardware information
When managing Virtual Server, a good first step is to get an overview of the host computer's hardware configuration as seen by the Virtual Server service. Click on Server Properties Physical Computer Properties (see Figure 1) in the Virtual Server Administration Web site. You'll get a quick rundown of the key CPU and memory statistics.
Note the number of physical and logical CPUs, as well as the amount of available physical memory. These numbers will define the constraints under which you'll be working.
Managing memory settings
Configuring memory settings for a virtual machine couldn't be much easier. As long as the VM is powered off, you can change the memory setting in the properties of the VM.
There are some rules to keep in mind. Most importantly, you cannot "overcommit" memory. The sum of physical memory allocated to all running VMs on a host server must be less than the total amount of physical memory available on the server.
If you're going to be running other applications on the same server, keep in mind that you'll need to reserve a certain amount of memory for the host OS. Fortunately, Virtual Server can access all of the physical memory that is available on the host computer and includes support for large memory on 32-bit systems and the increased address space of 64-bit host operating systems.
Physical CPU considerations
When choosing CPUs for a host server machine, keep several things in mind; first and foremost is the overall performance of the CPU architecture. Clock speed and the number of physical CPU cores are most important. Each virtual machine will run in its own thread, so having multiple CPU cores can greatly help improve performance.
Intel and AMD offer virtualization-related extensions that can help improve virtualization performance (an upcoming Virtual Server update will take advantage of these specialized instructions).
Next, keep in mind heat and power consumption (both will end up hitting your overall budget). Multicore CPUs offer significant performance advantages and minimize additional power consumption. Regardless of how many physical and virtual CPUs present on the host, each VM will see only a single virtual CPU. Rest assured that Virtual Server will use all of the available host CPUs, as needed.
Monitoring CPU and memory performance
Before you can tweak CPU and memory settings, you should know how these resources are being used. Figure 2 provides some useful Windows Performance Monitor counters and how they can clue you in on what's going on. It can be valuable to measure these values both at the host-level (for an overview of aggregate hardware utilization) and at the VM-level (to hone in on details related to individual VMs' resource usage).
Figure 2: Windows Performance Monitor counters for measuring CPU and memory statistics
In this article, we looked at how Virtual Server manages access to CPU and memory resources and how you can monitor actual usage. We'll build on this information in the next article when we look at manually managing CPU resource allocations. Stay tuned!