Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm planning on building a new PC and as I will be using it mainly for Virtual Machines. I would like information on what components should be focused on the most. I know RAM will need to be higher than on a normal PC, but due to cost it could be easy to fulfill.

The thing that does confuse me is that Intel has a lot of VM extensions on their highest end, whereas AMD pretty much offers the same extensions for all processors, but I'm not sure that the extensions are needed I would like to run Hyper-V, which I've heard has higher requirements then Linux solutions.

So summing it up, what components should I focus on when doing the build, what are the CPU virtual machine extensions, and how will they benefit me?

share|improve this question

closed as too broad by Keltari, Mokubai, Ƭᴇcʜιᴇ007, Tog, Breakthrough Sep 30 '13 at 1:57

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

This is an impossible to answer question with the information provided. VMs are computers, they still require CPU, Memory, and disk. – Keltari Aug 26 '13 at 14:33
@Keltari I don't think OP was planning on building a VM host with no disks in it. There's nothing special about disks and VMs. Obviously memory is an important when running multiple VMs, the more the merrier. The features of the CPU is probably the biggest question here. Seems answerable enough to me. – Tanner Faulkner Aug 26 '13 at 14:40
Though I will say about disks: get large ones. You'll be surprised how much space snapshots take up. – Tanner Faulkner Aug 26 '13 at 14:40
@Tanner disks are extremely important for VMs. Have you tried running 5 VMs all trying to access disk resources at the same time off of one controller? – Keltari Aug 26 '13 at 14:41
@Keltari Ah, can't say I've run in to that. Reviewing this post may be in order when planning disk I/O:… An SSD might solve disk I/O bottlenecks as well. – Tanner Faulkner Aug 26 '13 at 14:51
up vote 3 down vote accepted

I think there's a few things to look at.

Firstly you need to decide between a VM software that runs on a general purpose host (VMware workstation/player, the 'desktop' Hyper-V varient or Virtualbox for example) or on a special purpose host (Hyper-V server or ESXi)

Firstly, AMD and Intel have broadly compatible virtualisation extentions.

VT-X (Intel) and AMD-V (AMD) are the 'basic' virtualisation extensions. All Modern AMD processors have this. Some Intel processors don't. You want this. If nothing else, if you get a processor without this you are cheaping out.

VT-D/IOMMU on the other hand is 'nice to have' IF you have a host that supports PCI passthrough and some other features. If you need to ask, you probably don't need it.

Ram is nice to have. The rule of thumb I follow is whatever my host normally uses (I assume 4 gb) + 2gb spare + whatever I need for my guests.

Number of cores might be a factor as well - depending on load and the number of guests. If you're going to be running a lot of VMs with heavy workloads you might want more cores - in my case I tend to run one or two, and even a dual-core machine does alright. A good rule of thumb might be one processor core per VM (though you can experiment with more, naturally). If the VMs are idle most of the time, naturally you can scale up.

Finally, VMs take up a lot of disk space, and obviously may be bottlenecked by throughput. I find a standard consumer grade HDD makes a good storage drive - tho some folk do need, and use much faster storage. Once again, depends on what your needs are. If speed's an issue, there's no reason you can't host your VMs on a SSD, or a SAN via a fast interface. You might also want to experiment with RAID, JBOD or simply having VMs on seperate disks and interfaces. I tend to use single VMs transiently, so my single large disk is sufficient

share|improve this answer

The only extension you really need is the basic virtualization, called AMD-V by AMD and VT-x by Intel, which allows a processor to be virtualized (as opposed to emulated). These technologies might need to be enabled in your BIOS.

The other extensions are typically virtualization of additional hardware components, such as disk access and network access. These usually don't matter too much if you're just wanting to run a VM or two on your local machine for personal use, but can have a much bigger impact on large solutions commonly found with VPS providers where VMs are being sold as a service.

If the processor does not support network or I/O virtualization, that simply means that the VM will have to emulate them on the CPU, not that you can't use them.

The Wikipedia page on X86-based virtualization has a decent overview of the technologies that major CPUs provide, and from there you can read up on particular technologies (and form more specific questions to ask here, if you need to).

share|improve this answer
I do recall virtualising without VT-X. VT-X only seemed to be necessary for running 64 bit guests on a 32 bit host. It does, supposedly, speed things up a lot – Journeyman Geek Aug 26 '13 at 14:45
I'm not an expert, but I figured it was the base virtualization extention, i.e., without it at best you can run software-emulated guests. – Darth Android Aug 26 '13 at 14:47
You can do it without it. The only 'true' emulators I recall were the old VPC (which let you run windows on pre-intel macs) and QEMU - which is impressively flexible, and horridly slow ;p – Journeyman Geek Aug 26 '13 at 14:48

Not the answer you're looking for? Browse other questions tagged .