每天5分钟玩转openstack跟学(三)KVM虚拟化原理之内存虚拟化

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

KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机,如下图所示
每天5分钟玩转openstack跟学(三)KVM虚拟化原理之内存虚拟化_第1张图片

为了在一台机器上运行多个虚拟机

  1. KVM需要实现VA(虚拟内存)→ PA(物理内存)→ MA(机器内存)之间的地址转换。
  2. 虚机OS控制虚拟地址PA(物理内存)→ MA(机器内存)之间的地址转换。
  3. 虚机OS控制虚拟地址到客户内存物理地址的映射(VA →PA),但是虚机OS不能直接访问实际机器内存
  4. 因此KVM需要负责映射客户物理内存到实际机器内存(PA → MA)

内存也是可以overcommit的

  1. 即所有虚机的内存之和可以超过宿主机的物理内存。但使用时也需要充分测试,否则性能会受影响

你可能感兴趣的:(OpenStack)