Virtual Machine guest optimization tips
I've installed Windows7 in VirtualBox 2.2.4 and worked like a charm. But compared with my WindowsXP virtual machine, the performance is slow.
I've installed Windows7 in (non-virtual) machines and the performance was better than XP and Vista.
I would like to know about tips to optimize the guest Windows7 so the performance will be acceptable.
I was thinking about stop some services, but I don't know that services are necessary in the guest OS. Another thougth is about defragmentation. What your tips?
Solution 1:
Generally there's no need to optimize Windows 7 Virtual Machines. Unlike previous Windows releases it's pretty smooth right out of the box as long as it's got at least 1Gb RAM allocated. I'm using Windows 7 x64 under VMWare Fusion on OSX and it's blisteringly fast.
We run a lot of Windows VMs for software testing on a dedicated ESXi machine (about three each of 2000/XP/Vista/2003/2008/2008R2/Vistax64), so I can provide a few tips that apply Windows VMs in General.
- Turn off all desktop effects, use "Windows Classic" mode
- Disable the SuperFetch service (heavy on disk I/O and memory)
- Allocate as much RAM as you can to the VM
- Turn off Windows Defender
- Install a lightweight AntiVirus (at least on 2000/XP/2003)
- Use "High performance" power saving mode (i.e. none)
- Disable Screensaver
- If possible, put the virtual disk image on a separate physical drive. But make sure it's not on a software RAID array.
- Go get some more RAM and allocate that to the VM as well.
My experience is only with the VMWare family of virtualization products (Workstation, Server, ESXi and Fusion) and I haven't come across any issues with Windows 7. I'd suggest downloading the VMWare Workstation and seeing if there might be a bottleneck somewhere with the VirtualBox implimentation.
Remember, system requirements for Win7 states a minimum of 1Gb RAM. Minimum. Performance is good with 1Gb, but give it less and you're asking for trouble.
Solution 2:
Windows 7 has a native support to VHD boot, which means you can boot right to the VHD file without hosting OS supporting it. It's so nice and amazing working that way. Definitely worth trying. Maybe it's the next awesome way of virtualizing desktop.
Here is my blog post about Native VHD boot on Windows 7
Solution 3:
Make sure you've allocated enough resources to the VM, and that you have those resources free to allocated. Also switch off any virtual devices you don't need (serial ports etc.), then as you say look at the actual guest settings such as services etc.