虚拟化是一种让人着迷的技术,其知识背景贯穿底层硬件到上层应用,也是目前云计算服务的基础。本文及后续文章,期望通过“虚拟化简介”这一系列,管中窥豹,将虚拟化技术的魅力阐述一二,也算是对自己多年工作的一个总结。
在展开描述虚拟化之前,有必要对虚拟化的概念和技术分类做通盘的介绍:
什么是虚拟化?
虚拟化,即是创建真实事物的虚拟版本,在计算机世界里,这些真实事物可以是计算机硬件平台、存储设备和网络资源等...
提供虚拟机服务的过程中,遇到了如下问题:
现象1:在线迁移前,虚拟机运行正常,迁移之后,虚拟机内用户态程序CPU占用飙升,甚至打满整个虚拟机。
现象2:虚拟机内CPU占用集中在用户态,关闭程序后虚拟机CPU使用率下降,启动程序可复现问题。
现象3:冷启动虚拟后,启动程序,问题消失。
该问题多次出现,升级宿主机到高版本内核问题消失,最终通过缩小范围,发现打入如下内核Patch后问题解决。
1...
以下介绍基于IA-32e (x86_64),参考 “Intel® 64 and IA-32 Architectures
Software Developer’s Manual”
页表是实现地址翻译的重要结构,其中,Page Table Entry
(PTE)存储了页帧的物理地址和控制标记,了解PTE的详细结构对理解访存过程中的权限控制、缺页处理等机制都有着重要的意义。
PTE的内部结构如下图所...
x86体系结构下对于4K Page支持三种分页模式:4级64-bit,3级64bit 和
2级32bit。使用大页会产生更多的paging mode,这里不做介绍。
1) 4级64-bit:IA-32e (long mode) 模式下使用该paging
mode * 每级页表项均为64bit,CR3存储PML4 Table基地址
2) 3级64-bit:IA-32模式下,开启PAE 关闭PSE,...