ITPub博客

buffer cache部分原理(LRU)

原创 Linux操作系统 作者:oracle_ace 时间:2007-12-12 21:15:19 0 删除 编辑
   当一个server process到buffer cache访问数据块的时候,首先他要搜索LRU列表的MRU看看他所要找的数据块在不在我们buffer_cache中,如果在就直接访问这个block,此时的命中是在buffer中,如果没有找到所需要的数据,这个时候,就要从数据库文件中读取这个block到buffer cache中来,然后在访问这个block,这个时候server process也会在LRU列表中的空闲空间搜索并寻找一个大小合适的空闲缓存,如果没有搜索到空闲缓存,则从LRU端开始继续搜索可重用的block或者达到查找的最大限制(40%),这个期间如果也发现了LRU列表中还没有移入dirty列表中的脏数据库块则会将这个数据块移入dirty列表中,等待dbwn进程将他们写入数据文件。如果找到空间后,就从磁盘将数据读入到我们所找到的空间缓存中,并将这个缓存块移LRU列表的MRU端。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-489/,如需转载,请注明出处,否则将追究法律责任。

上一篇: flush buffer cache
请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    284
  • 访问量
    783564