vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别?

2024-05-05

我目前正在试验中找到的内核参数/proc/sys/vm, 尤其dirty_ratio and dirty_background_ratio.

内核文档对两者都有以下解释:

脏背景比例

包含,以包含空闲页面的总可用内存的百分比表示 和可回收页,后台内核可回收的页数 刷新器线程将开始写出脏数据。

and

脏率

包含,以包含空闲页面的总可用内存的百分比表示 和可回收页,进程可回收的页数 生成磁盘写入本身将开始写出脏数据。

在我的Linux系统上dirty_background_ratio是 10 并且dirty_ratio是20。我理解的区别是,脏数据写给谁了。因此,如果我使用的内存达到 10%,内核就会开始写回,并且永远不会达到 20%。

我现在的问题是:具有更高的价值dirty_background_ratio and dirty_ratio有什么意义,还是只是“较低的价值是多少以及谁拥有它”的问题?


dirty_background_ratio 和 dirty_ratio 的较高值是否有任何意义,或者只是“较低值是多少以及谁拥有它”的问题?

用更简单的话来说:

vm.dirty_background_ratio是脏时导致系统开始将数据写入磁盘的系统内存的百分比。

vm.dirty_ratio是脏页时导致执行写入的进程阻塞并将脏页写到磁盘的系统内存的百分比。

这些可调参数取决于您的系统正在运行的内容;如果您运行大型数据库,建议将这些值保持较低,以避免系统负载增加时出现 I/O 瓶颈。

e.g.:

vm.dirty_background_ratio=10
vm.dirty_ratio=15

在本例中,当脏页超过vm.dirty_background_ratio=10I/O 开始,即它们开始刷新/写入磁盘。当脏页总数超过vm.dirty_ratio=15所有写入都会被阻止,直到某些脏页写入磁盘。你可以想到vm.dirty_ratio=15作为上限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别? 的相关文章

随机推荐