Intel VT 2015年推出page-modification logging(PML),
VMM可以利用EPT监控虚拟机在运行期间物理页面的修改。
在没有PML前,VMM要监控xu虚拟机中物理页面的修改,需要将EPT的页面结构设置为not-present或者read-only,这样会触发许多EPT violations,开销非常大。
PML建立在CPU对EPT中的accessed与dirty标志位支持上。
当启用PML时,对EPT中设置了dirty标志位的写操作都会产生一条in-memory记录,报告写操作的虚拟机物理地址,当记录写满时,触发一次VM Exit,然后VMM就可以监控被修改的页面。
这是KVM 对支持PML的patch
这是XEN支持PML的patch
VMWare 也对PML开始有了支持
参考来源
Page Modification Logging for Virtual Machine Monitor White Paper