虚拟内存管理器(VMM)性能概述
2008-09-06 08:21:45 来源:WEB开发网核心提示: ·系统中的内存总量·处理器数量·每个处理器随时间变化的内存需求·页面替换算法出现这种情况时,会出现持续的页面调进和调出,虚拟内存管理器(VMM)性能概述(7),这种情况叫系统颠簸,系统颠簸导致对调页的磁盘进行不断的 I/O 操作,直到
·系统中的内存总量
·处理器数量
·每个处理器随时间变化的内存需求
·页面替换算法
出现这种情况时,会出现持续的页面调进和调出。这种情况叫系统颠簸。系统颠簸导致对调页的磁盘进行不断的 I/O 操作,从而导致每个进程几乎一被分派就遇到一个缺页故障,结果是没有一个进程有任何重要的进展。
系统颠簸最具破坏力的方面是,虽然可能是工作负荷中一个短暂而随机的高峰(比如某个系统中所有的用户碰巧在同一秒按下 Enter 键)触发了系统颠簸,但系统可能会持续颠簸不知多长时间。
操作系统有一种内存负载控制算法,它检测系统何时会开始颠簸,然后将活动进程暂挂并将新进程的开始延迟一段时间。有五个参数为该算法设置比率和范围。在一个大的工作负荷范围内,这些参数的缺省值已经选择为“故障安全”。在 AIX V4 中,缺省情况下,内存负载控制在可用内存帧添加到大于或等于 128 MB 的系统上是禁用的。
内存负载控制算法
内存负载控制机制每秒进行一次评估,看是否有足够内存可用于活动的进程组。当检测到内存过量使用的情况时,便暂挂一些进程以减少活动进程的数量,从而降低了内存过量使用的级别。
当一个进程暂挂时,它的所有线程在达到可暂挂状态时也都全部暂挂。暂挂进程的页面立刻变得无效并且由页面替换算法调出,这样释放了足够的页面帧以允许余下的活动进程进行下去。在现有进程暂挂的时间间隔内,新建的进程也暂挂,从而阻止新的工作进入系统。暂挂的进程不会重新激活,直到经过了一段连续的间隔时间且在这个间隔中不会有潜在的系统颠簸情况出现。一旦这个安全间隔时间过去,暂挂进程中的线程便逐步重新激活。
更多精彩
赞助商链接