【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用
来源:互联网 发布:ppt数据标签怎么设置 编辑:程序博客网 时间:2024/06/14 16:12
Oracle体系结构中经常看到LRU算法,Least Recently Used,也有叫“最近最少使用页面置换算法”,简单讲,Oracle会将内存中最近不用的数据库移出内存以腾出空间来加载另外的数据。算法的实现虽然无法获取,但对于我们很多人来说,也没有必要了解。更重要、更实际地是知道它的作用,以及基于此对一些问题的分析与判断。
关于这个算法,有一种最理想的计算,就是每次调换出的内存是所有内存中最迟将被使用的,可以最大限度地推迟内存调换,但这种算法是理想内存置换,无法实现。为了减少与理想算法的差距,又出现了各种精妙的算法,LRU就是其中一个。它是基于:前面内存中的数据很可能在后面频繁使用,反过来说,已经很久没用的内存中数据可能在未来较长时间内不会被用到,这是著名的局部性原理,比内存速度还要快的cache,也是基于同样的原理运行的。因此我们只需要在每次内存调换时,找到最近最少使用的内存数据调出内存,这就是LRU算法的内容。
有的书中提到的“如果数据库空运转,最终DBWR会将全部缓冲区存储区写入磁盘”,DBWR会将dirty缓冲区写入磁盘,使用的是LRU算法,如上原理所述,根据DBWR触发的若干条件,外加LRU算法,DBWR当然会将全部buffer cache写入磁盘。
关于这个算法,有一种最理想的计算,就是每次调换出的内存是所有内存中最迟将被使用的,可以最大限度地推迟内存调换,但这种算法是理想内存置换,无法实现。为了减少与理想算法的差距,又出现了各种精妙的算法,LRU就是其中一个。它是基于:前面内存中的数据很可能在后面频繁使用,反过来说,已经很久没用的内存中数据可能在未来较长时间内不会被用到,这是著名的局部性原理,比内存速度还要快的cache,也是基于同样的原理运行的。因此我们只需要在每次内存调换时,找到最近最少使用的内存数据调出内存,这就是LRU算法的内容。
有的书中提到的“如果数据库空运转,最终DBWR会将全部缓冲区存储区写入磁盘”,DBWR会将dirty缓冲区写入磁盘,使用的是LRU算法,如上原理所述,根据DBWR触发的若干条件,外加LRU算法,DBWR当然会将全部buffer cache写入磁盘。
- 【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用
- 【Oracle】-【体系结构-DBWR】-DBWR进程相关理解
- 【Oracle】-【体系结构-DBWR】-DBWR进程相关
- oracle体系结构 LGWR DBWR
- Lru算法在Android中的应用
- Oracle体系结构(三)---DBWR机制
- LRU与MRU算法
- LRU 与 LFU 算法
- FIFO和LRU算法
- DBWR和LGWR的关系
- Lru算法在Android应用
- DBWR进程
- dbwr调优
- ORACLE中触发DBWR进程的事件~
- Oracle DBWn(DBWR)写数据文件
- Oracle DBWR和缓存的管理
- Java应用缓存介绍与LRU(Least Recently Used)算法
- LRU与LFU调度算法
- C++、AS3、Java中多态的区别
- 去除数组中重复的元素
- Microsoft SQLServer有四种系统数据库
- List、Set、数组之间的转换
- 编译和使用Lua
- 【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用
- 再回家乡(图)
- centos 6 安装后的 某些配置
- Pell方程解法+连分数自己整理
- CentOS 下编译安装openocd配合JLINK调试
- 安徽省应用型本科高校联盟交流会听专家演讲所得
- [smart210] firstled.s 代码分析及编译分析
- vs2005没有调试信息的解决方案
- C++ STL使用入门