Oracle体系结构中经常看到LRU算法,Least Recently Used,也有叫“最近最少使用页面置换算法”,简单讲,Oracle会将内存中最近不用的数据库移出内存以腾出空间来加载另外的数据。算法的实现虽然无法获取,但对于我们很多人来说,也没有必要了解。更重要、更实际地是知道它的作用,以及基于此对一些问题的分析与判断。

关于这个算法,有一种最理想的计算,就是每次调换出的内存是所有内存中最迟将被使用的,可以最大限度地推迟内存调换,但这种算法是理想内存置换,无法实现。为了减少与理想算法的差距,又出现了各种精妙的算法,LRU就是其中一个。它是基于:前面内存中的数据很可能在后面频繁使用,反过来说,已经很久没用的内存中数据可能在未来较长时间内不会被用到,这是著名的局部性原理,比内存速度还要快的cache,也是基于同样的原理运行的。因此我们只需要在每次内存调换时,找到最近最少使用的内存数据调出内存,这就是LRU算法的内容。

有的书中提到的“如果数据库空运转,最终DBWR会将全部缓冲区存储区写入磁盘”,DBWR会将dirty缓冲区写入磁盘,使用的是LRU算法,如上原理所述,根据DBWR触发的若干条件,外加LRU算法,DBWR当然会将全部buffer cache写入磁盘。

【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用相关推荐

  1. LRU(least recently used)算法浅析

    LRU(Least recently used)算法,顾名思义:最近最少使用. LRU-1算法 算法根据数据的历史访问记录来进行淘汰数据,其核心思想是"如果数据最近被访问过,那么将来被访问的 ...

  2. lru调度算法例题_lru算法(lru算法及例题讲解)

    lru算法参考例子如下: include using namespace std; int ans[1000]://存放原序列 int block[1000]://机器分给程序的内存块 int num ...

  3. lru算法实现 redis_Redis中的lru算法实现

    lru是什么 lru(least recently used)是一种缓存置换算法.即在缓存有限的情况下,如果有新的数据需要加载进缓存,则需要将最不可能被继续访问的缓存剔除掉.因为缓存是否可能被访问到没 ...

  4. 缓存基础----LRU算法和FIFO算法的Java实现

    Java里面实现LRU缓存算法的通常有两种选择,一种是自己设计数据结构:链表+HashMap(链表用来表示位置,哈希表用来存储和查找),另一种是使用Java中的LinkedHashMap.我们这边文章 ...

  5. 用 js 实现 FIFO, LRU, LFU 缓存淘汰算法

    看了网上一些人写的缓存淘汰算法,大概明白了这三种淘汰算法的实现思路,然后自己在对这些算法的理解基础上用js语言实现如下 1. FIFO 先入先出 这个相对比较简单,使用一个数组存储,在没到达最大存储空 ...

  6. LRU链表及LRU缓存

    注:本文分析基于linux-4.18.0-193.14.2.el8_2内核版本,即CentOS 8.2 1. 关于LRU LRU即Least recently used,也就是最近最少使用,一般用作缓 ...

  7. 计算机算法常用术语中英对照

    1 第一部分.计算机算法常用术语中英对照2 Data Structures 基本数据结构3 Dictionaries 字典4 Priority Queues 堆5 Graph Data Structu ...

  8. (各种均衡算法在MIMO中的应用对比试验)最小均方误差(MMSE)原理推导以及在MIMO系统中对性能的改善。

    文档和程序地址:下载地址 各种均衡算法在MIMO中的应用对比试验,内附原理推导,对比实验说明和结果等.包括MMSE,ZF,ZF-SIC等.代码附有原理推导小论文.仅供参考

  9. 计算机视觉:Bag of words算法实现过程中出现错误及解决方案

    Bag of words算法实现过程中出现错误及解决方案 出现的问题 IndexError: list index out of range OSError:x.sift not found sqli ...

最新文章

  1. SpringBoot的注解:@SpringBootApplication注解 vs @EnableAutoConfiguration+@ComponentScan+@Configuration...
  2. C# 乐观锁、悲观锁、共享锁、排它锁、互斥锁
  3. cassandra本地连接失败_无法连接到本地Cassandra实例?
  4. HTML与CSS基础之选择器优先级(十)
  5. 使用JMSTester对JMS层进行基准测试
  6. jquery mobile 移动web(5)
  7. java 打印abcd_用JAVA编程统计字符串ABCD123!@#$%ab中大写字母、小写字母、数字、其它字符的个数并打印出来...
  8. DELPHI10.2的LINUX数据库开发环境配置
  9. 安装php-solr扩展
  10. 做柜员还是程序员_未来的程序员,还是“高薪一族”吗?
  11. 用python生成一段关于文字的二维码(关于刷网课的)
  12. 19电子设计速成实战宝典pdf_ALTIUMDESIGNER19(中文版)电子设计速成实战宝典
  13. 需要计算机安装msxml,怎么在电脑上安装msxml6.0?教大家具体安装步骤
  14. 农历阳历转换 java_Java编程实例:Java版农历和阳历转换源码
  15. python中temp是什么意思中文-请问Python里temp是什么意思?
  16. 安全测试:听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试
  17. 青蛙的约会解题报告(转)
  18. 莺尾花数据(画出不同分类器的ROC曲线)
  19. 微信公众号H5跳转小程序,wx-open-launch-weapp
  20. 【机器学习】LayerNorm BatchNorm的作用以及区别

热门文章

  1. MySQL 5.5 日志管理
  2. 全球智能家居市场发展现状及未来趋势分析
  3. 1424 零树 (树形DP)
  4. 开源DataBase组件:FluentMigrator
  5. exam1802 Bounty Hunter II(DAG的最小路径覆盖)
  6. SpringMVC RedirectView的使用以及源码分析
  7. WCF服务重构实录(中)
  8. SQL Serve权限管理
  9. 微信小程序之 Classify(商品属性分类)
  10. ambari 2.6.0.0开发环境配置