On Tue, Jun 4, 2024 at 4:06 AM Jaco Kroon <jaco@xxxxxxxxx> wrote: > > Hi, > > Please refer below. > > >> > >> This could potentially be due to extremely heavy disk IO, or LVM > >> itself freezing IO. > > > > well reducing the percentage of '/proc/sys/vm/dirty_ration' may > > possibly help > > when your disk system is too slow and you create a very lengthy 'sync' > > io queues... > > > crowsnest [09:52:21] /proc/sys/vm # cat dirty_ratio > 20 > > Happy to lower that even more if it would help. > > Internet (Redhat) states: > > Starts active writeback of dirty data at this percentage of total memory > for the generator of dirty data, via pdflush. The default value is |40|. > > I'm assuming the default is 20 though, not 40, since I can't find that > I've reconfigured this value. > > Should probably remain higher than dirty_background_ratio (which is > currently 10), dirty_background_bytes is 0. > > > > > >> I don't see the default value for udev_log from the config. > >> Explicitly set to debug now, but still not seeing anything logged to > >> syslog. Running with udevd --debug, which logs to a ramdisk on /run. > >> Hopefully (if/when this happens again) that may shed some light. > >> There is 256GB of RAM available, so as long as the log doesn't grow > >> too quickly should be fine. > > > > A lot of RAM may possibly create a huge amount of dirty pages... > > > May I safely interpret this as "lower the dirty_ratio even further"? > > Given a value of 10 and 20 I'm assuming that pdflush will start flushing > out in the background when >~26GB of in-memory data is dirty, or if the > data has been dirty for more than 5 seconds (dirty_writeback_centisecs = > 500). > > Don't mind lowering the dirty_background ratio as low as 1 even? But > won't the primary dirty_ratio start blocking processes from writing if > >40% of the caches/buffers are considered dirty? > > Kind regards, > Jaco > > Use the *_bytes values. If they are non-zero then they are used and that allows setting even below 1% (quite large on anything with a lot of ram). I have been using this for quite a while: vm.dirty_background_bytes = 3000000 vm.dirty_bytes = 5000000 ie 5M and 3M such that I should never have a huge amount of writes outstanding. And you can go lower.