Balancing Virtual PC 2007 Resource Utilization

Use this tweak to prevent a single VPC from hogging system resources.

Chris: When I run an installation in a Virtual PC, I usually just walk away from my system, because trying to run other applications or virtual PCs is very slow. I like to demo things like RIS installs using Virtual PC, but when I do, the RIS installation will slow down all of my other VMs. Granted, I don’t have the fastest laptop. Besides getting better hardware, is there anything else I can do?
-- Thomas

Thomas: Throwing more hardware at a performance issue is always an easy way out, provided that a hardware bottleneck is the source of the performance slowdown. Today’s 64-bit Intel and AMD platforms both support hardware-assisted virtualization via Intel VT or AMD-V. Today, the greatest benefit of hardware-assisted virtualization is that it removes the CPU tax on emulating a virtual CPU. The next generation hardware-assisted virtualization platforms from AMD and Intel will allow VMs to directly access memory, thus removing the performance hit caused by virtualizing physical memory.

Note that the performance issues with memory paging are generally not noticeable in a typical Virtual PC deployment. When virtualizing enterprise applications, on the other hand, memory performance is very noticeable as client load scales from the hundreds to the thousands.

By memory performance, I’m not referring to the limitations that physical memory place on virtual machines (i.e., a system with 2GB of RAM being able to successfully run three VMs with 512MB of allocated RAM). Instead, the memory degradation I’m referring to is what occurs when a VM tries to write to memory and the underlying virtual machine monitor (VMM) traps and emulates page writes.

Now let me return to the problem at hand. Virtual PC 2007 provides greater control over VM performance and physical host system resources. To access the performance configuration settings, open the Virtual PC console and perform the following steps:

  1. Click the File menu and select Options.
  2. In the Virtual PC options window, click Performance (see Fig. 1).

Virtual PC 2007 performance settings
[Click image to view larger version.]

Figure 1. Virtual PC 2007 performance settings.

Thomas’s specific problem can be eased by clicking on the "All running virtual machines get equal CPU time" radio button. Doing so balances access to the physical host computer’s CPU across all running virtual machines.

Note that with Thomas’s example of a RIS installation, the VM running the RIS install will still use a significant amount of disk and network I/O. So, if other VMs are running on the same physical hard disk or if they are sharing a single network controller, they may still experience disk and network latency.

If you’re performing an installation and you want to give priority to the applications on your computer, you can select the "Give processes on the host operating system priority" radio button.

Since Virtual PC 2007 is designed for simple desktop usage and not for production applications, it’s understandable that it doesn’t have all of the performance bells and whistles as enterprise-class virtualization applications.

If you’re looking to squeeze additional performance out of each Virtual PC VM, here are some other performance enhancements to consider:

  • Reduce the VM disk size and optimize Windows guest operating system performance using a third party tool such as Invirtus VM Optimizer.
  • Disable the screen saver in each VM guest OS.
  • After installing a VM’s guest OS, install the VM Additions, which provide optimized device drivers
  • Use Fixed Size virtual hard disks instead of Dynamically Expanding virtual hard disks. Fixed Size VHDs do not grow as data is added to a VM and thus reduce the risk of fragmenting the physical host’s hard disk.
  • Separate VM data from the physical host system’s data by storing VMs on one or more dedicated physical hard disks. Dedicating a physical hard disk to VM virtual hard disk files creates a separate I/O channel for VM disk reads and writes and will prevent paging on the physical host from slowing down VM disk performance.

Hopefully, some of these tips will help you to see better performance in your Virtual PC VMs. If I failed to mention your favorite Virtual PC VM performance tweak, please share it as a comment to this article.

About the Author

Chris Wolf is VMware's CTO, Global Field and Industry.


Subscribe on YouTube