On 3/25/21 4:25 AM, Chris Murphy wrote:
It might be appropriate to set dirty_bytes to 500M across the board, desktop and server. And dirty_background to 1/4 that. But all of these are kinda rudimentary guides. What we really want is something that knows what the throughput of the storage is, and is making sure there isn't more than a few seconds of writeback needed at any given time. The default, dirty_ratio 20%, is high by today's memory standards. But upstream will not change it. All kernel knobs are distro responsibility to change from the defaults.
I don't agree with the base reasoning. There is nothing wrong in having many gigabytes of dirty data in memory, if the machine has enough RAM to do it. It is one of the things that make the difference between Linux and toy systems. "500M will be enough" sound like the historical "640k will be enough", because 500M could be flushed in a fraction of a second on modern SSDs. What you really want is that if there are 40GB of outstanding data going to the disk, processes are still: 1) able to write to the disks without heavy latency (and delaying it in memory is exactly achieving that) 2) able to read the disks without heavy latency, which is something the disk scheduling code will care to provide (reads have priority over writes). The kernel has even got per-device queues to avoid a slow USB drive to stall the I/O for the other devices. If the filesystem is not able to read 50kB because there are 10GB of dirty data in memory, the problem is in the filesystem code. Regards. -- Roberto Ragusa mail at robertoragusa.it _______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure