dirty_ratio与dirty_background_ratio参数区别--系统优化必选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dirty_ratio与dirty_background_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

Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio(示例代码

文件缓存回写简述

Linux 内核参数优化

如何更改操作系统文件缓存刷新策略?

sysctl修改内核参数 重启不生效