I have a workload with extremely high write burst rates for short periods of times. The target disks are rather slow, but I have plenty of RAM and very tolerant to instantaneous data loss.
I've tried tuning vm.dirty_ratio to maximize the use of free RAM space to be used for dirty pages.
# free -g total used free shared buff/cache available Mem: 251 7 213 3 30 239 Swap: 0 0 0 # sysctl -a | grep -i dirty vm.dirty_background_bytes = 0 vm.dirty_background_ratio = 5 vm.dirty_bytes = 0 vm.dirty_expire_centisecs = 90000 vm.dirty_ratio = 90
However, it seems I'm still encountering some writeback throttling based on the underlying disk speed. How can I disable this?
# dd if=/dev/zero of=/home/me/foo.txt bs=4K count=100000 oflag=nonblock 100000+0 records in 100000+0 records out 409600000 bytes (410 MB) copied, 10.2175 s, 40.1 MB/s
As long as there is free memory and the dirty ratio has not yet been exceeded - I'd like to write at full speed to the page cache.