KVM与VMware的性能比较

结合网页http://www.linuxidc.com/Linux/2011-01/31755.htm等整理

物理环境

内存4G ,CPU4个,动态硬盘120G

KVM:

硬盘测试

瞬间读取速度

Timing cached reads: 23668 MB in 2.00 seconds = 11858.17 MB/sec

Timing buffered disk reads: 294 MB in 3.02 seconds = 123.37 MB/sec

读取硬盘1G数据速度

1024000000 bytes (1.0 GB) copied, 87.253 seconds, 11.7 MB/s

写入硬盘1G数据速度

1024000000 bytes (1.0 GB) copied, 10.5519 seconds, 97.0 MB/s

CPU测试

二级缓存

Cat /proc/cpuinfo

cache size : 32 KB

运行一个shell运算脚本 用时13分钟

Cpu(s): 5.5%us, 0.6%sy, 0.0%ni, 93.3%id, 0.1%wa, 0.4%hi, 0.1%si, 0.0%st

Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 98.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu 使用量在 0.1%~~5.5%,比较均匀的增减;内存和交换分区都比较稳定

内存使用测试

执行一个耗费内存的程序 ,运行时间 3分钟,立即消耗内存到最大

Mem: 3945756k total, 2854516k used, 1091240k free, 288700k buffers

Swap: 1020088k total, 8k used, 1020080k free, 2278948k cached

Mem: 3945756k total, 3919740k used, 26016k free, 12188k buffers

Swap: 1020088k total, 100k used, 1019988k free, 3645968k cached

Vmware:

瞬间硬盘读取:

Timing cached reads: 24068 MB in 2.00 seconds = 12058.10 MB/sec

Timing buffered disk reads: 790 MB in 3.00 seconds = 263.06 MB/sec

读取硬盘1G数据速度

1024000000 bytes (1.0 GB) copied, 70.1827 seconds, 14.6 MB/s

写入硬盘1G数据速度

1024000000 bytes (1.0 GB) copied, 4.5338 seconds, 226 MB/s

CPU 二级缓存

Cat /proc/cpuinfo

cache size : 8192 KB

运行一个shell运算脚本 用时10分钟

Cpu(s): 4.9%us, 0.7%sy, 0.0%ni, 94.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st

Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu利用量

Cpu 使用量在 0.1%~~4.9%,有不大的起伏;内存和交换分区都比较稳定

内存使用

执行耗费内存程序,执行时间5分钟,缓慢消耗内存到最大

Mem: 4044464k total, 2974892k used, 1069572k free, 56892k buffers

Swap: 1020088k total, 16k used, 1020072k free, 2605660k cached

Mem: 4044464k total, 4016472k used, 27992k free, 12296k buffers

Swap: 1020088k total, 116k used, 1019972k free, 3692420k cached

综上所述:

Kvm 内存使用效率比较高,硬盘的写入速度很慢,CPU利用量稳定,也比较低

VMware 内存使用效率不高,硬盘读写速度很快,CPU利用量高

Kvm与Vmware 整体性能从数据上一次数据上看不出来,多次测试后,vmware就稍微明显地比RedHat

kvm性能好很多。

但是这比较的仅仅是性能,而在开发过程中,开发工具或者环境的专业性和便捷性更为重要

KVM提供的虚拟化需要硬件的支持,是基于硬件的完全虚拟化。自Linux 2.6.20之后集成在Linux的各个主要发行版中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

而且KVM是GPL的自由开源软件,这一点与Linux的相得益彰。所以,基于我个人认为在Linux开发这一块,KVM相对要专业一些,这个是在实际使用中切身体会到的。