#1: Disable hyperthreading.
According to Microsoft, it "was" recommended that you disable hyperthreading on your system because guest OSes can only utilize a single "logical" processor. If the host is set up to use hyperthreading, it presents two logical CPUs for every physical CPU installed because that CPU's total processing power is actually being split by hyperthreading (the process of handling two threads at one time via one CPU). As such, the guest OS will use only one of the "logical" CPUs and will only get half of the CPU when it is under load.
However, with the release of Virtual Server 2005 RC2, Microsoft apparently believes it has worked around this issue. To be honest, I am not quite sure how, since the article that Microsoft posted describing this issue did not go into specifics. But you can try turning on your hyperthreading and see if you get a performance boost while running multiple guest OSes.
Myth #2. Don't use the /3GB switch.
Regardless of the amount of physical memory in your system, Windows server (32-bit versions only and not applicable to Windows Standard Server) uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes (for example, applications) and 2 GB allocated to kernel-mode processes (for example, the operating system and kernel-mode drivers). On systems that have 1 GB or more of physical memory, a special startup switch /3GB can be used to allocate more memory to applications (3 GB) and less memory to the operating system (1 GB).
However, using the common /3GB switch may cause your system to have problems launching multiple virtual machines under Virtual Server. Normally this switch is recommended for applications requiring large amounts of memory. This switch increases the amount of user-mode virtual memory available from 2GB to 3GB; however it does this by reducing the amount of kernel-mode virtual memory from 2GB to 1GB.
Note: Unlike most applications, Virtual Server uses a good deal of kernel-mode virtual memory, so the server is most likely going to run out of kernel-mode virtual memory before running out of user-mode virtual memory.
Myth #3: Increase performance via compressed physical drives.
I recently read about a user who accidentally put his virtual machines' hard disk files onto his host server's compressed NTFS drive. He said that this gave him a performance boost of 10% to 20%.
But when I tried this on a few servers, I found that it severely impacted the performance of the guest OSes. You can try this one out to see if it works for you, but I give it a thumbs down.
Note: While Virtual Server 2005 R2 Enterprise Edition will support as many processors as its host OS (currently 32 in Windows Server 2003), and will support emulating the exact CPU that is installed on the Host (with latest service pack beta installed), the individual VMs are limited to a single logical processor and up to 3.6GB RAM. The rest of the emulated VM hardware includes the following:
- Intel 440BX motherboard chipset
- AMI BIOS
- S3 Trio 32/64 with 4MB of video memory
- PS/2 Mouse and Keyboard
- Two floppy drives
- Two serial ports
- One parallel port
- Up to four IDE devices such as hard disks or CD/DVD drives
- Up to four Adaptec 7870 SCSI controllers (each of which can host seven hard disk drives)
- Up to four DEC 21140 10/100 network interface cards
About the author: Tim Fenner (MCSE, MCSA: Messaging, Network+ and A+) is a senior systems administrator who oversees a Microsoft Windows, Exchange and Office environment, as well as an independent consultant who specializes in the design, implementation and management of Windows networks.
More information on this topic:
- Tip: Software configuration tips for optimizing Virtual Server
- Topics: Virtualization strategies
- RSS: Sign up for our RSS feed to receive expert advice every day.
This was first published in January 2007