1、抖动
如果分配给一个进程的物理页面太少,不能包含整个工作集,即常驻集 ⊂ \subset ⊂工作集,那么进程将会造成很多的缺页中断,需要频繁地在内存与外存之间替换页面,从而使进程的运行速度变得很慢,我们把这种状态称为“抖动”。
2、抖动产生的原因
虽则驻留内存进程数目的增加,分配给每个进程的物理页面数量不断减小,缺页率不断上升。所以OS要选择一个适当的进程数目和进程需要的帧数,以便在并发水平和缺页率之间达到一个平衡。
3、抖动问题的改善
抖动问题可能会被本地的页面置换算法改善,更好的规则为加载控制:调整MPL,使得平均页缺失时间(MTBF)=页缺失服务时间(PFST)。
如上图所示,首先看右侧轴线对应的蓝色曲线图,其表示缺页平均时间和缺页服务时间之间的比值,这个值越小表示缺页的次数越少,而为了尽量充分利用内存,使这两个值的比值取值为1,这时候能够达到内存最大化地利用。
再观察左侧轴线对应的紫色曲线图,其表示内存中进程数量和CPU利用率之间的关系,随着进程数量的增多,CPU利用率先上升后下降,因为之后缺页中断次数增多之后,CPU大部分时间都用在换入换出页面上面了,不能及时处理进程需求。
结合左右两条曲线,当 M T B F P F S T \frac{MTBF取值为1时对应的进程数量即为最优进程数量,这个进程数量下,既能保证运行更多的程序,也不会使得CPU的速度过低。