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 to run Linux under user-mode qemu but don't know which platform (eg x86, ppc etc) is the best to pick (performance wise).

The host is Linux x86-64 running in OpenVZ (so can't modify kernel), so, from my understanding, I can't use virtualisation and can only use user-mode emulation.

Is there any significant difference in performance with emulating different CPUs in such a situation? x86-64 sounds like the nicest option, but if it's going to be purely emulated, is there a more efficient platform?


share|improve this question
This sounds like you're going to run a Linux qemu VM in a Linux container on a Linux-based OpenVZ. Is there a reason for the 3 layer approach? This seems excessive. – Shannon Nelson Aug 5 '11 at 5:05
It does indeed, but it's a rented VPS - so I have no choice of the upper layer. Comments about whether I should be doing this or not aside, I'm still somewhat interested in this. I thought someone might've done some benchmarks, so I asked. – ionice Aug 6 '11 at 7:03
I have no benchmarks (or really anything to back up my opinion), but I would think x86 - it would theoretically be less resource-intensive than x86-64, and more work has probably gone into making it fast than ARM or PPC. – user55325 Aug 21 '11 at 6:22

Using the native CPU (x86) is always faster than emulating another CPU. Qemu should work if it is still capable of the old-style emulation (from before KVM came into being). You might also want to consider User Mode Linux (UML) since that involves running a specially modified Linux kernel as a normal process (user mode). This is similar to what OpenVZ does but you can nest many layers, unlike XEN, KVM, Virtualbox.

share|improve this answer

OK, I'm agreeing to not talk about the multiple layers... With that aside,

Assuming you have no access to the kernel, and lack the ability to do anything with KVM. Honestly your best option would be to look at UML, It's the only way to get any decent performance out of the situation. If UML is, for whatever reason, not an acceptable solution. You really might also want to consider, regular old chroot's. These options will perform at an acceptable level, unlike QEMU. Full emulation is perfectly OK for testing/development, but for anything else it would be ridiculous. Especially when considering, your doing all this from a rented VPS.

If you do have access to adding new kernel modules, the old school KQEMU + QEMU would bring some virtualization. I also would like to mention, before KVM hit the scene, KQEMU and QVM86 were the original methods for QEMU virtualization. In addition, Emulating your host would yield the least loss. If qemu runs x86_64, run x86_64.

share|improve this answer

You must log in to answer this question.

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