VMware Player vs. VirtualBox: performance comparison

If you are using a virtualization hypervisor, one of your main concerns will be its performance, or in another word, its virtualization overhead. How much overhead is introduced by the virtualization layer will determine the raw performance of guest virtual machines (VMs) running on a hypervisor.

Continuing from the feature comparison between VMware Player and VirtualBox, I will present performance comparison between VMware Player and VirtualBox.

To compare virtualization overhead of two virtualization software packages, I created one VM on VMware Player, and another VM on VirtualBox, both of which have exactly the same specifications. Then I ran various PTS tests to obtain performance benchmarks from both VMs. Since two guest VMs have exactly the same hardware specification, the lower the virtualization overhead is, the better performance a VM will get.

I conducted the performance experiments on one VM at a time, so that there is no resource contention between the two VMs. That is, I powered on VMware Player VM, completed a series of tests on it, and powered off the VM. Next, I powered on VirtualBox VM, repeated the same set of tests with it, and powered it off.

Host Machine Specification

  • CPU: Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz
  • Memory: 8GB Shared Dual Channel DDR3 Memory
  • Disk: 1TB 5400 RPM SATA Hard Drive
  • VMware Player: 5.0.1 build-894247
  • VirtualBox: 4.2.16 r86992

Guest VM Specification (for both VMware Player and VirtualBox)

  • Processor count: 1
  • Memory: 1GB
  • Hard disk: 10GB
  • Filesystem: EXT4
  • Operating System: Ubuntu 13.04 (64-bit)
  • Linux Kernel: 3.8.0-19-generic (x86_64)

Guest VM Installation

  • VMware Player VM: VMware Tools
  • VirtualBox VM: Guest Additions

I did performance tests in three categories: (1) disk, (2) processor and (3) memory. For each category, I randomly chose several tests among available ones from Phoronix Test Suite.

Disk Performance Comparison

  • BlogBench: Final score. More is better. VMware Player won!

  • Dbench: MB/s. More is better. VMware Player won!

  • IOzone (Read): 64Kb record, 512MB file. MB/s. More is better. VirtualBox won!

  • IOzone (Write): 64Kb record, 512MB file. MB/s. More is better. VirtualBox won!

    CPU Performance Comparison

  • Gzip Compression: 2GB file. Seconds. Less is better. VMware Player won!

  • FFmpeg: Convert H.264 HD to NTSC DV. Seconds. Less is better. VMware Player won!

  • OpenSSL: RSA 4096-bit performance. Signs per seconds. More is better. VirtualBox won!

    Memory Performance Comparison

  • RAMspeed (Integer): MB/s. More is better. VMware Player won!

  • RAMspeed (Floating Point): MB/s. More is better. VMware Player won!


    According to the test results, it appears that VMware Player has a slight edge over VirtualBox in terms of CPU and memory. As far as disk performance is concerned, it is not conclusive which one is better.

    It may still be hard to generalize the findings reported here, since this is a case of one particular hardware setting with a limited set of tests. So take it with a grain of salt.

    If you want to share your experience with VMware Player or VirtualBox in terms of their performance, feel free to share it in the comment section.

    Subscribe to Xmodulo

    Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

    Support Xmodulo

    Did you find this tutorial helpful? Then please be generous and support Xmodulo!

    The following two tabs change content below.
    Dan Nanni is the founder and also a regular contributor of Xmodulo.com. He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.

    Latest posts by Dan Nanni (see all)

  • How to open a TCP/UDP socket in a bash shell - May 24, 2016
  • How to enable incremental file sync for many users on Linux - April 24, 2016
  • How to build a kernel module with DKMS on Linux - April 8, 2016