首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFU和LRU页面替换算法的比较

MFU和LRU页面替换算法的比较
EN

Stack Overflow用户
提问于 2012-11-28 11:21:31
回答 2查看 31.1K关注 0票数 3

MFU (最常用)页面替换算法什么时候比LRU (最不常用)有更好的性能?什么时候比LRU更糟糕?除了MFU页面替换算法的基本定义之外,我还可以在哪里找到信息?

EN

回答 2

Stack Overflow用户

发布于 2012-11-28 12:48:10

通常,我见过使用MFU缓存作为主缓存,并由使用LRU替换算法的辅助缓存( MRU缓存)支持。其想法是,最近使用的内容将保留在主缓存中,从而提供非常快速的访问。这减少了在频繁使用少量项目时在MRU缓存中看到的“流失”。它还可以防止那些常用的项仅仅因为一段时间没有使用而被从缓存中逐出。

如果您有少量经常被引用的项,而有大量不经常被引用的项,则MFU效果很好。例如,一个典型的桌面用户可能有三到四个程序,他每天使用很多次,而数百个程序是他很少使用的。如果您想通过在内存程序中缓存来改善他的体验,以便它们可以快速启动,那么您最好将他经常使用的那些东西缓存起来。

另一方面,如果您有大量基本上是随机引用的项,或者某些项的访问频率略高于,或者项通常是批量引用的(即项A在短时间内被多次访问,然后根本不访问),那么LRU缓存回收方案可能会更好。

票数 6
EN

Stack Overflow用户

发布于 2013-04-12 17:42:13

最近最少使用(LRU)页面替换算法

在此算法中,必须替换未使用时间最长的页面。

LRU页面替换算法的优点:

完全统计的analysis.

  • Never患上了贝拉迪异常。

使用最频繁(MFU)的页面替换算法

实际上,MFU算法认为使用最频繁的页面不会立即被需要,因此它将替换MFU页面

示例:考虑以下引用字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

缓冲区大小:3字符串:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

代码语言:javascript
复制
7 7 7 2 2 2 0 4 2 2 0 0 2 2 2 0 0 7 7 7

  0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13597246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档