加载中...
页面置换算法是虚拟内存系统在物理内存不足、需要换出页面为新页面腾出空间时,决定淘汰哪个页面的策略。常见算法有 FIFO、LRU、时钟(Clock)等,其目标是尽量降低缺页率。

| 中文名 | 页面置换算法 |
| 英文名 | Page Replacement |
| 所属 | 虚拟内存管理 |
| 常见算法 | FIFO、LRU、时钟 |
| 优化目标 | 降低缺页率 |
页面置换算法(Page Replacement Algorithm)是虚拟内存管理中,当物理内存已满而又需要调入新页面时,用来决定淘汰(换出)哪一个已在内存中的页面的策略。好的置换算法能有效降低缺页率,提高系统整体性能。
在按需分页系统中,进程访问的页面不一定都在物理内存里。当发生缺页且没有空闲页帧时,操作系统必须选择一个内存中的页面换出到磁盘,再把需要的页面换入。选择哪个页面淘汰,直接决定了后续会不会很快又要把它换回来,因此置换算法是虚拟内存性能的关键。
Linux 内核采用改进的 LRU 变体,将页面组织为活跃(active)与不活跃(inactive)两个链表,并结合访问位近似实现;此外还引入了工作集与页面老化机制。数据库缓冲池也常用类似 LRU 或时钟的策略管理缓存页。
问:为什么不直接用最优置换算法?答:最优算法需要预知每个页面未来的访问时刻,现实中无法做到,因此它只能作为衡量其他算法优劣的理论上界。
问:什么是抖动(Thrashing)?答:当分配给进程的页帧太少,系统频繁地换入换出页面,CPU 大量时间耗在缺页处理上而非真正计算,这种恶性循环称为抖动。

| 中文名 | 页面置换算法 |
| 英文名 | Page Replacement |
| 所属 | 虚拟内存管理 |
| 常见算法 | FIFO、LRU、时钟 |
| 优化目标 | 降低缺页率 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧