KVM和Docker的对比

1.虚拟化技术对比

KVM:全虚拟化,需要模拟各种硬件

docker:严格来说不算是虚拟化技术,只是进程隔离和资源限制

2.实例启动进程对比

在kvm虚拟机中执行top命令,看宿主机进程树,根本看不到top的进程

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间

在docker容器中,同样执行top命令,在宿主机进程数中直接可以看到top进程

Xen的区别 docker跟KVM docker和kvm哪个性能好_linux_02

3.占用内容资源对比

KVM虚拟机一般会独占一段内存,即使闲置,其他虚拟机也无法使用。

容器可以只有一个内存上限,没有下限。如果它只使用1MB内存,那么它只占用宿主机1MB内存。宿主机可以将富余内存作为他用。

docker:启动两个实例,才占用一点

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间_03

kvm:启动一个512M内存的实例,就占了这么多了

Xen的区别 docker跟KVM docker和kvm哪个性能好_Xen的区别 docker跟KVM_04

4.实例的内核对比

kvm的虚拟机内核无需与宿主机一致

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间_05

docker:实例内核和宿主机内核一致

Xen的区别 docker跟KVM docker和kvm哪个性能好_linux_06

5.操作系统支持度对比

kvm:支持多种操作系统,除了linux,还支持windows,uninx、solaris等

docker:只支持linux

6.启动一个实例需要的时间对比

lxc容器技术将操作系统抽象到了一个新的高度。直接从init启动,省去了硬件自检、grub引导、加载内核、加载驱动等传统启动项目,因此启动飞速。

docker:秒级

kvm:分钟级别

7.镜像模板占用空间对比

kvm:占用空间大

[root@linux-node2 ~]# du -smh /var/lib/libvirt/images/generic.qcow2

1.9G    /var/lib/libvirt/images/generic.qcow2

docker:占用空间小

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间_07

8.磁盘读写性能对比

kvm

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间_08

docker

Xen的区别 docker跟KVM docker和kvm哪个性能好_占用空间_09

9.网络性能测试对比

kvm

Xen的区别 docker跟KVM docker和kvm哪个性能好_docker_10

docker

Xen的区别 docker跟KVM docker和kvm哪个性能好_Xen的区别 docker跟KVM_11

总结

docker比kvm更省资源,可以提供非常接近宿主机的性能,而kvm资源隔离比docker更高,kvm支持的操作系统类型更多。