What features should I look for in a laptop for virtualization-heavy workloads?

I do most of my development in VMware Workstation (version 7 at the moment). Unfortunately, on my laptop with 4 GB of RAM, an OCZ Vertex 2 240 GB, and a Core 2 Duo T9550 (2.66 GHz) does things criminally slowly when there's more than one VM running at a time (which given that I've been doing multi-server development lately is most of the time).

I know that there are some processors which (for example) have specific features to make virtualization fast, and I think there are some chipset features which make memory access faster specifically for virtualization workloads, but I'm not positive on either of these, and even if they do exist, I'm not sure they're available on laptops.


Most chips now have virtualization extensions (Intel-VT or AMD-V). From personal experience (VirtualBox), I can tell that some of the features -- especially nested paging -- are very helpful; nested paging, for example, lowers my Ubuntu boot time quite noticeably (from 45 seconds to 15 seconds).
(Edit: Seems like "nested paging" is also called "second-level address translation" or "extended page tables" [EPT].)

It also depends on what your development is. I tried compiling the Chromium source code on a Core i5 (no virtual machines at all, on an actual computer), and 4 GiB of RAM was not enough -- 6 GiB was almost enough, but I still needed ~1 GiB of pagefile to prevent running out of memory. (I normally turn off the page file.) Doing this on a VM was clearly out of the question on my system, mainly because of RAM (but also the CPU). So RAM is very important too, especially with 2 VM's, although it depends on what you're doing.

Another feature that might help is having a true dual-core (or more) laptop, having one VM run on one core and another on another core. I haven't tested the impact of this personally, though, since I usually only run one VM at any time.


I think your problem has more to do with RAM than with CPU. If you can stuff more RAM in your laptop, it will go a long way. A good hypervisor can divide cpu time pretty well, but RAM has to be committed to specific VMs. After you max out RAM, look for more cores (ie: a slower-clocked quad core as opposed to a faster clocked dual core), so that each logical machine (including the host) can have at least one dedicated core. You also asked about a specific technology for better VM support. With the exception of certain netbook-class processors, any processor/motherboard on the market today will support these technologies, so odds are you're already doing everything you can there. However, these options sometimes are disabled by default in the BIOS/UEFI settings, to look there to make sure your virtualization features are actually enabled. Finally, running multiple VMs can sometimes create a lot of IO pressure, so a good SSD or RAID setup can often help considerably.


Intel does have a virtualization technology called VT that provides an instruction set tailored specifically towards virtual machines. The Intel ARK has a list of VT capable processors. You'll find quite a few mobile processors there as well as desktop.