如何改变dirty_writeback_centisecs的值?

如何改变dirty_writeback_centisecs的值?

我想改变dirty_writeback_centisecs在查看 Powertop 中的可调参数后,发现值 6000 似乎存在问题,Powertop 认为该值不合适。它将值改为 1500。但是,更改不是持久的。

我试过..

设置vm.dirty_writeback_centisecs=1500/etc/sysctl.conf 并且都sys.vm.dirty_writeback_centisecs=1500没有起作用。此外,/etc/sysctl.d/99-sysctl.conf但这也不起作用。

重新启动时该值仍为 6000。

答案1

进行这些设置永恒的在 Debian 上你必须添加以下几行到/etc/sysctl.conf

   vm.dirty_writeback_centisecs = 1500
   vm.dirty_expire_centisecs = 1500

但如果你已经安装并启用了tlp服务以实现更好的电源管理,则上述配置将被忽略,并且您必须取消注释以下几行/etc/defaults/tlp

MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=15

答案2

尝试放入

echo 1500 > /proc/sys/vm/dirty_expire_centisecs
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

在 /etc/rc.local

然后做

sudo systemctl enable rc-local.service

使其在启动时运行。

举个例子,由于某个 VPS 中的 RAM 太多并且电源冗余安全性和可靠性良好,我的 /etc/rc.local 中目前有以下内容:

#!/bin/bash

echo 1 > /proc/sys/vm/swappiness
echo 24 > /proc/sys/vm/vfs_cache_pressure
echo 99 > /proc/sys/vm/dirty_ratio
echo 50 > /proc/sys/vm/dirty_background_ratio
echo 12000 > /proc/sys/vm/dirty_expire_centisecs
echo 12000 > /proc/sys/vm/dirty_writeback_centisecs

(/bin/sleep 60 && /sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 &)
exit 0

但我仅建议在您拥有足够的 RAM 和 CPU 时才获取磁盘 IO。

答案3

我猜,在使用 root 权限更改 /etc/sysctl.conf 中的参数并保存并关闭文件后,sudo sysctl -p命令将使更改生效。问候

相关内容