我想改变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
命令将使更改生效。问候