写入缓存设置不起作用

写入缓存设置不起作用

我正在使用 Debian 8.0 x64,配备 72 GB RAM,其中 4 个驱动器配置为软件 RAID 0。

Linux s1 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1(2015-05-24)x86_64 GNU/Linux

我尝试在实际写入之前将脏页设置为 2GB 缓存。我还尝试将“dirty_ratio”和“dirty_background_ratio”设置为使用 50% 的 RAM,但这也不起作用。pdflush 守护程序应每分钟启动一次,脏页的过期时间设置为 10 分钟。

我使用“iotop”检查了磁盘 I/O,结果显示磁盘写入活动较多。此外,“cat /proc/meminfo”显示“Dirty”值正在变小(可能是由于写入)。在检查之前,我运行了“sync”和“drop_caches”。我使用“dd”命令进行了测试,写入了一个 1GB 的零文件。

  • 设置如下:

echo 0 > /proc/sys/vm/dirty_background_ratio

echo 2147483648 > /proc/sys/vm/dirty_background_bytes

echo 0 > /proc/sys/vm/dirty_ratio

回显 2147483648 > /proc/sys/vm/dirty_bytes

echo 6000 > /proc/sys/vm/dirty_writeback_centisecs

echo 30000 > /proc/sys/vm/dirty_expire_centisecs

  • 安装选项:

/dev/md0 on /test 类型 ext4 (rw,noatime,nodiratime,nobarrier,stripe=512)

有什么建议吗?

答案1

尝试增加您必须创建的 md/stripe_cache_size 文件

#/etc/udev/rules.d/83-md-stripe-cache.rules
KERNEL=="md*", ACTION=="add", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"

它对我的 Raid-6 有用

我建议您降低脏比率,因为它给我在 x64 系统上带来了问题,我使用了此设置

添加 /etc/sysctl.conf

vm.dirty_bytes = 16777216 #16Mb
vm.dirty_background_bytes = 835584 #mb

答案2

不要用于dd此测试。使用其他命令,例如cp,您将看到写入缓存正常工作。

相关内容