每天5分钟玩转openstack跟学(二)KVM虚拟化原理之CPU虚拟化

CPU虚拟化功能是通过qemu-kvm和qemu-system提供,他们是KVM和QEMU的核心包

一个KVM虚机在宿主机中其实是一个qemu-kvm进程,与其他Linux进程一样被调度

  • 一个KVM虚拟机就是宿主机上的一个进程

将VM1关机,然后查看进程
在这里插入图片描述
在这里插入图片描述

将VM1开机,然后查看进程
在这里插入图片描述

虚机中的每一个虚拟vCPU则对应qemu-kvm进程中的一个线程

  • KVM中一个VCPU就是宿主机KVM对应进程中的一个线程

当前VM1虚拟机vCPU数为1,查看线程数
在这里插入图片描述

将VM1关机,然后将vCPU改为2,看线程在这里插入图片描述
在这里插入图片描述

示意图
在这里插入图片描述

  • 在这个例子中,宿主机有两个物理CPU,上面起了两个虚机VM1和VM2,所以当前宿主机上有两个qemu-kvm进程,假设VM1对应进程为qemu-kvm1,另一个为qemu-kvm2。
  • VM1有2个vCPU,所以qemu-kvm1进程上应该有2个vCPU线程
  • VM2有4个vCPU。所以qemu-kvm2进程上应该有4个vCPU线程
  • 这里也演示了另一个知识点,即虚机的vCPU总数可以超过物理CPU数量,这个叫CPU overcommit(超配)
  • KVM允许overcommit,这个特性使得虚机能够充分利用宿主机的CPU资源,但前提是在同一时刻,不是所有的虚机都满负荷运行
  • 当然,如果每个虚机都很忙,反而会影响整体性能,所以在使用overcommit的时候,需要对虚机的负载情况有所了解,需要测试
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值