Balancing Virtual PC 2007 Resource Utilization
Use this tweak to prevent a single VPC from hogging system resources.
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: 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:
- Click the File menu and select Options.
- In the Virtual PC options window, click Performance (see Fig. 1).
[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
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
- 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.
Chris Wolf is VMware's CTO, Global Field and Industry.