VirtualBox 6.0 vs. KVM vs. Bare Linux Benchmarks

AMD Ryzen Threadripper 2990WX Linux virtualization benchmarks for a future article on Phoronix.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1812203-PTS-VIRTUALI66
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts

Limit displaying results to tests within:

C/C++ Compiler Tests 5 Tests
Compression Tests 2 Tests
CPU Massive 17 Tests
Creator Workloads 3 Tests
Database Test Suite 2 Tests
Disk Test Suite 4 Tests
HPC - High Performance Computing 3 Tests
Common Kernel Benchmarks 3 Tests
Multi-Core 10 Tests
NVIDIA GPU Compute 2 Tests
OpenCL 2 Tests
OpenMPI Tests 2 Tests
Programmer / Developer System Benchmarks 2 Tests
Python Tests 2 Tests
Renderers 2 Tests
Server 4 Tests
Server CPU Tests 9 Tests
Single-Threaded 2 Tests
Common Workstation Benchmarks 3 Tests

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Geometric Means Per-Suite/Category
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
VirtualBox 6.0
December 19 2018
  1 Hour, 54 Minutes
KVM
December 19 2018
  1 Hour, 56 Minutes
Bare Metal
December 20 2018
  1 Hour, 27 Minutes
Invert Hiding All Results Option
  1 Hour, 45 Minutes

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


VirtualBox 6.0 vs. KVM vs. Bare Linux Benchmarks - Phoronix Test Suite

VirtualBox 6.0 vs. KVM vs. Bare Linux Benchmarks

AMD Ryzen Threadripper 2990WX Linux virtualization benchmarks for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/1812203-PTS-VIRTUALI66.

VirtualBox 6.0 vs. KVM vs. Bare Linux BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkMonitorOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionSystem LayerVirtualBox 6.0KVMBare MetalAMD Ryzen Threadripper 2990WX 32-Core (16 Cores)Oracle VirtualBox v1.2Intel 440FX 82441FX PMC16384MB64GB VBOX HDDSVGA3D; build: RELEASE; LLVM;Intel 82801AA AC 97 AudioIntel 82540EM GigabitUbuntu 18.104.18.0-12-generic (x86_64)GNOME Shell 3.30.1X Server 1.20.1modesetting 1.20.12.1 Mesa 18.2.2GCC 8.2.0ext43773x2052Oracle VirtualBox 5.2.18_Ubuntur12374516 x AMD EPYC (with IBPB) (16 Cores)QEMU Standard PC (i440FX + PIIX 1996) (1.11.1-1ubuntu1 BIOS)94GBRed Hat QXL paravirtual graphic cardQEMU GenericRed Hat Virtio device3.3 Mesa 18.2.2 (LLVM 7.0 128 bits)1024x768KVMAMD Ryzen Threadripper 2990WX 32-Core @ 3.00GHz (16 Cores)ASUS ROG ZENITH EXTREME (1601 BIOS)AMD Family 17h32768MBSamsung SSD 970 EVO 500GBMSI AMD Radeon RX 470/480/570/570X/580/580X 8GB (1366/2000MHz)Realtek ALC1220ASUS VP28UIntel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless4.5 Mesa 18.2.2 (LLVM 7.0.0)3840x2160OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- VirtualBox 6.0: CFQ / errors=remount-ro,relatime,rw- KVM: NONE / errors=remount-ro,relatime,rw- Bare Metal: NONE / errors=remount-ro,relatime,rwPython Details- Python 2.7.15+ + Python 3.6.7Security Details- VirtualBox 6.0: __user pointer sanitization + Full generic retpoline + SSB disabled via prctl and seccomp- KVM: __user pointer sanitization + Full AMD retpoline IBPB- Bare Metal: __user pointer sanitization + Full AMD retpoline IBPB + SSB disabled via prctl and seccompProcessor Details- Bare Metal: Scaling Governor: acpi-cpufreq ondemand

VirtualBox 6.0 vs. KVM vs. Bare Linux Benchmarkssqlite: Timed SQLite Insertionsfio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadscompilebench: Compilecompilebench: Initial Createparboil: OpenMP CUTCPnamd: ATPase Simulation - 327,506 Atomsdacapobench: H2dacapobench: Jythondacapobench: Tradesoapdacapobench: Tradebeansbuild-linux-kernel: Time To Compileprimesieve: 1e12 Prime Number Generationrust-prime: Prime Number Test To 200,000,000node-octane: compress-xz: Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9compress-zstd: Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19rodinia: OpenMP LavaMDttsiod-renderer: Phong Rendering With Soft-Shadow Mappingx264: H.264 Video Encodingredis: SETstress-ng: Semaphoresstress-ng: Context Switchingstress-ng: System V Message Passingblender: BMW27 - CPU-Onlymcperf: Getmcperf: Setapache: Static Web Page Servingosbench: Create Filesosbench: Create Threadsosbench: Launch Programsosbench: Create Processesosbench: Memory AllocationsVirtualBox 6.0KVMBare Metal165.58259332766710811211311523734.312.15651557567218164768892.2920.2928.313097914224.8736.4924368.69127558917547512747611324718625932542118921157719.3782.4583.1055.9785.9347.0414400012733368511315714934353.541.51707523148055670534667.3815.4223.003744211619.8626.0436986.16149901920917604942603538550018547867286842246114.7331.1360.3741.8577.7536.26205333303250101725118117455063.411.45923380845413993407561.7814.2322.673766582.1919.4625.85435102.97155013824614294971298618229918363568423942236614.9613.0743.0223.6172.39OpenBenchmarking.org

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsVirtualBox 6.0KVMBare Metal4080120160200SE +/- 8.99, N = 9SE +/- 1.00, N = 12SE +/- 0.15, N = 3165.5847.0436.261. (CC) gcc options: -O2 -lz -ldl -lpthread

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryVirtualBox 6.0KVMBare Metal40K80K120K160K200KSE +/- 338.30, N = 3SE +/- 577.35, N = 3SE +/- 333.33, N = 325933144000205333-lnuma -libverbs-lnuma -libverbs1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryVirtualBox 6.0KVMBare Metal60K120K180K240K300KSE +/- 384.42, N = 3SE +/- 1333.33, N = 3SE +/- 8144.64, N = 1227667127333303250-lnuma -libverbs-lnuma -libverbs1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryVirtualBox 6.0KVMBare Metal2004006008001000SE +/- 1.86, N = 3SE +/- 7.22, N = 3SE +/- 1.45, N = 31086851017-lnuma -libverbs-lnuma -libverbs1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeVirtualBox 6.0KVMBare Metal50100150200250SE +/- 1.96, N = 3SE +/- 8.09, N = 9SE +/- 3.09, N = 31121132511. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsVirtualBox 6.0KVMBare Metal4080120160200SE +/- 1.88, N = 9SE +/- 13.42, N = 6SE +/- 12.36, N = 91131571811. (CC) gcc options: -static

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileVirtualBox 6.0KVMBare Metal400800120016002000SE +/- 19.11, N = 3SE +/- 34.49, N = 12SE +/- 28.59, N = 12115214931745

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateVirtualBox 6.0KVMBare Metal110220330440550SE +/- 16.85, N = 3SE +/- 6.85, N = 3SE +/- 5.47, N = 3373435506

Parboil

Test: OpenMP CUTCP

OpenBenchmarking.orgSeconds, Fewer Is BetterParboil 2.5Test: OpenMP CUTCPVirtualBox 6.0KVMBare Metal0.96981.93962.90943.87924.849SE +/- 0.03, N = 3SE +/- 0.05, N = 3SE +/- 0.04, N = 34.313.543.411. (CXX) g++ options: -lm -lpthread -lgomp -O3 -ffast-math -fopenmp

NAMD

ATPase Simulation - 327,506 Atoms

OpenBenchmarking.orgdays/ns, Fewer Is BetterNAMD 2.13b1ATPase Simulation - 327,506 AtomsVirtualBox 6.0KVMBare Metal0.48520.97041.45561.94082.426SE +/- 0.01709, N = 3SE +/- 0.00514, N = 3SE +/- 0.00336, N = 32.156511.517071.45923

DaCapo Benchmark

Java Test: H2

OpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: H2VirtualBox 6.0KVMBare Metal12002400360048006000SE +/- 86.40, N = 4SE +/- 50.89, N = 16SE +/- 51.37, N = 16557552313808

DaCapo Benchmark

Java Test: Jython

OpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: JythonVirtualBox 6.0KVMBare Metal14002800420056007000SE +/- 85.25, N = 4SE +/- 42.55, N = 4SE +/- 33.19, N = 4672148054541

DaCapo Benchmark

Java Test: Tradesoap

OpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: TradesoapVirtualBox 6.0KVMBare Metal2K4K6K8K10KSE +/- 73.28, N = 4SE +/- 81.00, N = 6SE +/- 31.98, N = 4816456703993

DaCapo Benchmark

Java Test: Tradebeans

OpenBenchmarking.orgmsec, Fewer Is BetterDaCapo Benchmark 9.12-MR1Java Test: TradebeansVirtualBox 6.0KVMBare Metal16003200480064008000SE +/- 31.79, N = 4SE +/- 82.08, N = 4SE +/- 21.43, N = 4768853464075

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.18Time To CompileVirtualBox 6.0KVMBare Metal20406080100SE +/- 1.48, N = 3SE +/- 2.17, N = 2SE +/- 0.96, N = 392.2967.3861.78

Primesieve

1e12 Prime Number Generation

OpenBenchmarking.orgSeconds, Fewer Is BetterPrimesieve 7.21e12 Prime Number GenerationVirtualBox 6.0KVMBare Metal510152025SE +/- 0.14, N = 3SE +/- 0.19, N = 8SE +/- 0.02, N = 320.2915.4214.231. (CXX) g++ options: -O3 -lpthread

Rust Prime Benchmark

Prime Number Test To 200,000,000

OpenBenchmarking.orgSeconds, Fewer Is BetterRust Prime BenchmarkPrime Number Test To 200,000,000VirtualBox 6.0KVMBare Metal714212835SE +/- 0.02, N = 3SE +/- 0.08, N = 3SE +/- 0.00, N = 328.3123.0022.671. (CC) gcc options: -m64 -pie -nodefaultlibs -ldl -lrt -lpthread -lgcc_s -lc -lm -lutil

Node.js Octane Benchmark

OpenBenchmarking.orgScore, More Is BetterNode.js Octane BenchmarkVirtualBox 6.0KVMBare Metal8K16K24K32K40KSE +/- 441.05, N = 3SE +/- 130.39, N = 3SE +/- 191.64, N = 33097937442376651. Nodejs v8.11.4

XZ Compression

Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9

OpenBenchmarking.orgSeconds, Fewer Is BetterXZ Compression 5.2.4Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9VirtualBox 6.0KVMBare Metal306090120150SE +/- 0.53, N = 3SE +/- 0.96, N = 3SE +/- 1.29, N = 3142.00116.0082.191. (CC) gcc options: -pthread -fvisibility=hidden -O2

Zstd Compression

Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19

OpenBenchmarking.orgSeconds, Fewer Is BetterZstd Compression 1.3.4Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19VirtualBox 6.0KVMBare Metal612182430SE +/- 0.45, N = 3SE +/- 0.05, N = 3SE +/- 0.21, N = 324.8719.8619.461. (CC) gcc options: -O3 -pthread -lz -llzma

Rodinia

Test: OpenMP LavaMD

OpenBenchmarking.orgSeconds, Fewer Is BetterRodinia 2.4Test: OpenMP LavaMDVirtualBox 6.0KVMBare Metal816243240SE +/- 0.00, N = 3SE +/- 0.09, N = 3SE +/- 0.00, N = 336.4926.0425.851. (CXX) g++ options: -O2 -lOpenCL

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

OpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.3bPhong Rendering With Soft-Shadow MappingVirtualBox 6.0KVMBare Metal90180270360450SE +/- 1.39, N = 3SE +/- 1.55, N = 3SE +/- 0.33, N = 32433694351. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -fopenmp -fwhole-program -lstdc++

x264

H.264 Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2018-09-25H.264 Video EncodingVirtualBox 6.0KVMBare Metal20406080100SE +/- 0.11, N = 3SE +/- 1.21, N = 6SE +/- 1.42, N = 368.6986.16102.97-lavformat -lavcodec -lavutil -lswscale1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 4.0.8Test: SETVirtualBox 6.0KVMBare Metal300K600K900K1200K1500KSE +/- 7079.03, N = 3SE +/- 38416.53, N = 12SE +/- 20755.24, N = 31275589149901915501381. (CC) gcc options: -ggdb -rdynamic -lm -ldl -pthread

Stress-NG

Test: Semaphores

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: SemaphoresVirtualBox 6.0KVMBare Metal500K1000K1500K2000K2500KSE +/- 10018.98, N = 3SE +/- 19457.08, N = 3SE +/- 27876.89, N = 31754751209176024614291. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

Stress-NG

Test: Context Switching

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Context SwitchingVirtualBox 6.0KVMBare Metal1.1M2.2M3.3M4.4M5.5MSE +/- 9955.51, N = 3SE +/- 23882.83, N = 3SE +/- 15342.45, N = 32747611494260349712981. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

Stress-NG

Test: System V Message Passing

OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: System V Message PassingVirtualBox 6.0KVMBare Metal1.3M2.6M3.9M5.2M6.5MSE +/- 1521.73, N = 3SE +/- 47317.32, N = 3SE +/- 26530.85, N = 33247186538550061822991. (CC) gcc options: -O2 -std=gnu99 -lm -lz -lcrypt -lrt -lpthread -laio -lc

Blender

Blend File: BMW27 - Compute: CPU-Only

OpenBenchmarking.orgSeconds, Fewer Is BetterBlender 2.79aBlend File: BMW27 - Compute: CPU-OnlyVirtualBox 6.0KVMBare Metal60120180240300259185183

Memcached mcperf

Method: Get

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.5.10Method: GetVirtualBox 6.0KVMBare Metal14K28K42K56K70KSE +/- 351.02, N = 3SE +/- 861.19, N = 12SE +/- 2250.26, N = 123254247867635681. (CC) gcc options: -O2 -lm -rdynamic

Memcached mcperf

Method: Set

OpenBenchmarking.orgOperations Per Second, More Is BetterMemcached mcperf 1.5.10Method: SetVirtualBox 6.0KVMBare Metal9K18K27K36K45KSE +/- 103.67, N = 3SE +/- 462.10, N = 12SE +/- 1598.75, N = 121189228684423941. (CC) gcc options: -O2 -lm -rdynamic

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.29Static Web Page ServingVirtualBox 6.0KVMBare Metal5K10K15K20K25KSE +/- 93.95, N = 3SE +/- 446.11, N = 3SE +/- 191.87, N = 31157722461223661. (CC) gcc options: -shared -fPIC -O2 -pthread

OSBench

Test: Create Files

OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create FilesVirtualBox 6.0KVMBare Metal510152025SE +/- 0.10, N = 3SE +/- 0.17, N = 3SE +/- 0.07, N = 319.3714.7314.961. (CC) gcc options: -lm

OSBench

Test: Create Threads

OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create ThreadsVirtualBox 6.0KVMBare Metal20406080100SE +/- 2.42, N = 12SE +/- 1.16, N = 9SE +/- 0.06, N = 382.4531.1313.071. (CC) gcc options: -lm

OSBench

Test: Launch Programs

OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Launch ProgramsVirtualBox 6.0KVMBare Metal20406080100SE +/- 1.49, N = 3SE +/- 0.50, N = 3SE +/- 0.45, N = 383.1060.3743.021. (CC) gcc options: -lm

OSBench

Test: Create Processes

OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create ProcessesVirtualBox 6.0KVMBare Metal1326395265SE +/- 1.55, N = 9SE +/- 0.70, N = 12SE +/- 0.74, N = 955.9741.8523.611. (CC) gcc options: -lm

OSBench

Test: Memory Allocations

OpenBenchmarking.orgNs Per Event, Fewer Is BetterOSBenchTest: Memory AllocationsVirtualBox 6.0KVMBare Metal20406080100SE +/- 0.12, N = 3SE +/- 0.14, N = 3SE +/- 0.08, N = 385.9377.7572.391. (CC) gcc options: -lm


Phoronix Test Suite v10.8.5