hello ![]()
does make sense to change the I/O scheduler?
the default is kyber, but none scheduler seems better performing for NVME
none should be the default for nvme SSD’s, but in my experience, mq-deadline is better, even on nvme. I always had some interface “lags” when using none and doing stuff on the filesystem like copying - that does not happen on deadline for me.
cat /etc/udev/rules.d/60-schedulers.rules
# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# set bfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
# set mq-deadline scheduler for non-rotating nvme-disks
ACTION=="add|change", KERNEL=="nvme[0-9]n1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
thanks
I was reading this
why do you think that mq-deadline is better?
because it is simple without much overhead, compared to bfq and kyber.
Absolutely, be it improving performance or reducing interface lags, as it is the case on some systems like @BS86.
Personally i do that:
# IO scheduler
# Algorithm to manage disk IO requests and balance it with other CPU loads.
# HDD
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"
# SSD
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"
# NVMe SSD
ACTION=="add|change", KERNEL=="nvme0n[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
but none scheduler seems recommended
do not know which one to choose ![]()
…