WEB开发网
开发学院操作系统Linux/Unix 虚拟内存管理器(VMM)性能概述 阅读

虚拟内存管理器(VMM)性能概述

 2008-09-06 08:21:45 来源:WEB开发网   
核心提示: 为了分清一个缺页故障是新页故障还是重新调页故障,VMM 维护一个重新调页历史记录缓冲区,虚拟内存管理器(VMM)性能概述(5),它包含 N 个最近缺页故障的页面标识,其中 N 是内存可保留的帧数,操作系统的顺序预取算法每次需要几个帧用于每个正在进行顺序读取的进程,而且 VMM 必须避免在操

为了分清一个缺页故障是新页故障还是重新调页故障,VMM 维护一个重新调页历史记录缓冲区,它包含 N 个最近缺页故障的页面标识,其中 N 是内存可保留的帧数。例如,512 MB 内存需要一个 128 KB 的重新调页历史记录缓冲区。在页面调进时,如果它的标识可在重新调页历史记录缓冲区中找到,则将它计为一个重新调页。VMM 还可以分别评估计算内存重新调页率和文件内存重新调页率,只需为每种类型的内存维护重新调页故障计数即可。每次页面替换算法运行时都将重新调页率乘以 0.9,这样可比历史重新调页活动更有力地反映最近的重新调页活动。

VMM 阈值

几个数字阈值定义了 VMM 的目标。当超出这些阈值中的一个时,VMM 会采取适当的操作将内存状态恢复到限定范围内。本节讨论的阈值可由系统管理员用命令 vmtune 进行更改。

空闲列表中页面帧的数量受下列参数控制:

minfree

空闲列表中可接受的实际内存页面帧的最小数量。当空闲列表的大小低于这个数时,VMM 开始替换页面。它将一直替换页面直到空闲列表的大小达到 maxfree。

maxfree

通过 VMM 页面替换空闲列表可达到的最大大小。当进程终止并释放它们的工作段页面或删除其页面在内存中的文件时,结果是空闲列表的大小可能会超过这个数。

VMM 试图保持空闲列表的大小大于或等于 minfree。当缺页故障或系统需求导致空闲列表大小低于 minfree 时,页面替换算法就开始运行。由于几个原因,空闲列表的大小必须保持在某个级别之上(缺省值是 minfree)。例如,操作系统的顺序预取算法每次需要几个帧用于每个正在进行顺序读取的进程。而且 VMM 必须避免在操作系统自身内部产生死锁,如果没有足够的空间读取需要释放页面帧的页就可能出现这种情况。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:虚拟 内存 管理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接