KVM与VMware的性能比较

时间:2023-03-08 23:47:57
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相对要专业一些,这个是在实际使用中切身体会到的。