【技术实现步骤摘要】
本专利技术涉及一种获取虚拟机内存工作集的方法及内存优化分配方法,属于虚拟化
技术背景在当前常见的虚拟化应用中,有这样一种场景:同一虚拟化管理器(Virtual Machine Monitor,VMM)上管理着多个虚拟机(Virtual Machine,VM),且多个VM之间共享内存等硬件资源。而在一台物理机上往往运行着多个虚拟机,这些虚拟机的内存通常由VMM静态设置(如图1所示)。当一台虚拟机内存超载时,它不得不将一些物理页面交换到磁盘上去,即便其它虚拟机有空闲内存,也会导致性能急剧下降。为了改善或者避免类似的情况,最合适的方法是让虚拟化环境下的资源的管理者、分配者VMM能够为多台虚拟机进行按需、动态内存调控。实现这一目标的关键是能够准确、低开销地预测虚拟机的内存需求。在静态分配内存的时候,由于无法提前预知虚拟机所需内存的大小,因此只能尽可能多的分配内存,这样的策略造成了内存的很大浪费。更极端的情况是在所分配内存之和大于物理内存的情况下,内存初始化无法完成(如图2所示)。虚拟机的行为具有很强的可变性,其内存需求是动态变化的。在这种情况下如果没有一个有效的物理内存管理和调度机制,数据中心的内存资源会出现利用率低下或者资源浪费的问题,甚至导致整体性能急剧下降。而现有操作系统只报告系统占用和空闲内存的大小,而不能统计每个程序所需要内存的大小。并且,系统性能和分配内存大小没有正比关系,占用的内存不一定在被有效 ...
【技术保护点】
一种获取虚拟机内存工作集的方法,其步骤为:1)修改虚拟机管理器VMM的内存页访问机制:将虚拟机VM的所有一级页表的页表项PTE的访问权限设置为系统态;2)当一内存页面被一虚拟机VM访问时,产生次要页面失效陷入到虚拟机管理器VMM中,虚拟机管理器VMM获取该页面的虚拟地址和其所属的页表地址,并将该页面的页表项PTE的访问权限设置为用户态;3)虚拟机管理器VMM将每一虚拟机VM访问过的页面地址分别记录到一对应的最近使用LRU直方图中,通过绘制失效率曲线MRC,进而得到每一虚拟机VM的内存工作集。
【技术特征摘要】
1.一种获取虚拟机内存工作集的方法,其步骤为:
1)修改虚拟机管理器VMM的内存页访问机制:将虚拟机VM的所有一级页表的页表项
PTE的访问权限设置为系统态;
2)当一内存页面被一虚拟机VM访问时,产生次要页面失效陷入到虚拟机管理器VMM
中,虚拟机管理器VMM获取该页面的虚拟地址和其所属的页表地址,并将该页面的
页表项PTE的访问权限设置为用户态;
3)虚拟机管理器VMM将每一虚拟机VM访问过的页面地址分别记录到一对应的最近使
用LRU直方图中,通过绘制失效率曲线MRC,进而得到每一虚拟机VM的内存工作
集。
2.一种虚拟机内存优化分配的方法,其步骤为:
1)修改虚拟机管理器VMM的内存页访问机制:将虚拟机VM的所有一级页表的页表项
PTE的访问权限设置为系统态;
2)当一内存页面被一虚拟机VM访问时,产生次要页面失效陷入到虚拟机管理器VMM
中,虚拟机管理器VMM获取该页面的虚拟地址和其所属的页表地址,并将该页面的
页表项PTE的访问权限设置为用户态;
3)虚拟机管理器VMM将每一虚拟机VM访问过的页面地址分别记录到一对应的最近使
用LRU直方图中,通过绘制失效率曲线MRC,进而得到每一虚拟机VM的内存工作
集WSS;
4)虚拟机管理器VMM根据虚拟机的内存工作集WSS为每一虚拟机VM按需分配内存。
3.如权利要求1或2所述的方法,其特征在于使用陷入\\俘获机制抓取虚拟机的访存地址,
采用一FIFO队列动态记录虚拟机俘获的地址;当有新的页面加入到该FIFO队列时,将
其页面号加入队尾;如果队列已满,则将队头的页面淘汰,并将其权限重新设为系统态。
4.如权利要求3所述的方法,其特征在于如果设定时间长度内虚拟机VM访问的页面总数与
其对应的FIFO队列所能容纳页面数比例大于设定值H,则增大该虚拟机VM的FIFO队
列长度;如果设定时间长度内虚拟机VM访问的页面总数与其对应的FIFO队列所能容纳
页面数比例小于设定值h,则减小该虚拟机的FIFO队列长度。
5.如权利要求1或2所述的方法,其特征在于使用LRU堆栈存储内存工作集中被访问的页
面号,且LRU堆栈每一位置i设置一计数器Hist(i);虚拟机管理器VMM根据每个计数器
的值和它在LRU堆栈所处的深度生成一LRU直方图;当一个页面被访问时,首先计算该
页面距栈顶的距离dist,将计数器Hist...
【专利技术属性】
技术研发人员:汪小林,王志钢,李雁章,罗英伟,
申请(专利权)人:北京大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。