KVM/QEMU虚拟机的任何内存变动都会关联到底层的宿主机的变化,宿主机会确认该虚拟机变化在整个内存分页表中是否有效,可用,不允许其访问不属于他的内存页,此内存运行访问机制有两种:

1)第一种是影子分页表技术。虚拟机所使用的的内存分页表与实际的内存分页表是独立的,不是同一张分页表,当虚拟机修改自己的内存分页表时,宿主机会检测到有修改动作发生,然后进行确认,之后才会修改真正的分区表,使由虚拟机发起的修改操作有效,虚拟机不能直接访问真正的内存分页表,而是访问影子分页表这是一种非常普通的虚拟化内存技术。

2)第二种是VMX/AMD-V扩展技术。VMX/AMD-V扩展技术允许底层宿主机始终监控,以此获得虚拟机修改真正内存分页表的信息,这种内存访问机制实际且很有效,但是它对性能有影响。且内存消耗比较大。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐