dirty_ratio与dirty_background_ratio两个参数区别
2014-12-05 18:08
295 查看
这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影响,故调研了一些降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_ration以及/proc/sys/vm/dirty_ratio两个参数的大小来实现。看了不少相关博文的介绍,不过一直弄不清楚这两个参数的区别在哪里,后来看了下面的一篇英文博客才大致了解了它们的不同。
vm.dirty_background_ratio:这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存;vm.dirty_ratio:而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。
之前一直错误的一位dirty_ratio的触发条件不可能达到,因为每次肯定会先达到vm.dirty_background_ratio的条件,后来才知道自己理解错了。确实是先达到vm.dirty_background_ratio的条件然后触发flush进程进行异步的回写操作,但是这一过程中应用进程仍然可以进行写操作,如果多个应用进程写入的量大于flush进程刷出的量那自然会达到vm.dirty_ratio这个参数所设定的坎,此时操作系统会转入同步地处理脏页的过程,阻塞应用进程。
相关文章推荐
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- (转)文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
- dirty_ratio与dirty_background_ratio参数区别--系统优化必选
- dirty_ratio与dirty_background_ratio的区别
- rocketmq使用的系统参数(dirty_background_ration dirty_ratio)
- linux 内核参数 dirty_ratio 和 dirty_background_ratio
- dirty_ratio与dirty_background_ratio的区别
- gl.glFrustumf(-ratio, ratio, -1, 1, 2, 10);后两个参数的意义
- 给按钮UIButton设置图片,setBackGroundImage和setImage两个方法的区别
- 三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
- 三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
- maven跳过单元测试的两个参数区别
- 【Android】LayoutInflater.inflate()方法两个参数和三个参数的区别
- Qt见解:Post 与 Get 的区别(Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分)