What are the differences between QEMU and VirtualBox?

Virtual MachineVirtualboxQemuXen

Virtual Machine Problem Overview


Recently, I found out that there is the QEMU project. I've used VirtualBox before, and I know about Xen and VMWare.

What are the differences between QEMU and VirtualBox? Should I stick with VirtualBox?
In which cases is QEMU better?

Virtual Machine Solutions


Solution 1 - Virtual Machine

Basically both have features which the other does not have, so this might ease the decision. QEMU/KVM is better integrated in Linux, has a smaller footprint and should therefore be faster.

VirtualBox is a virtualization software limited to x86 and amd64 architecture. Xen uses QEMU for the hardware assisted virtualization, but can also paravirtualize guests without hardware virtualisation. QEMU supports a wide range of hardware and can make use of the KVM when running a target architecture which is the same as the host architecture.

Xen is a Type-1 hypervisor where VirtualBox and QEMU are considered as Type-2 hypervisors (also there might be a debate considering kvm being a kernel module).

A similar question has been asked before in this community.

Solution 2 - Virtual Machine

QEMU with KVM is much, much faster than VirtualBox, you can test it yourself:

VirtualBox: vbox networking

QEMU QEMU

Disk and CPU tests provided similar results, more or less.

Solution 3 - Virtual Machine

A difference is the supported list of instructions. Virtualbox and VMware don't support the f16c-instructions supported by architectures beginning with Ivy Bridge, which limits compilations even with newer CPUs to those for Sandy Bridge and leads to other incompatibilities.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPavloView Question on Stackoverflow
Solution 1 - Virtual MachinebenView Answer on Stackoverflow
Solution 2 - Virtual MachineteknoraverView Answer on Stackoverflow
Solution 3 - Virtual MachineStarhowlView Answer on Stackoverflow