Sie können dies beim Booten einstellen, indem Sie den Parameter "lift" zur Kernel-Cmdline hinzufügen (z. B. in grub.cfg).
Beispiel:
elevator=deadline
Dadurch wird "Deadline" zum Standard-E / A-Scheduler für alle Blockgeräte.
Wenn Sie den Scheduler nach dem Start des Systems abfragen oder ändern möchten oder einen anderen Scheduler für ein bestimmtes Blockgerät verwenden möchten , empfehlen wir , das Tool ioschedset zu installieren und zu verwenden , um dies zu vereinfachen.
https://github.com/kata198/ioschedset
Wenn Sie auf Archlinux sind, ist es in aur verfügbar:
https://aur.archlinux.org/packages/ioschedset
Einige Anwendungsbeispiele:
# Get i/o scheduler for all block devices
[username@hostname ~]$ io-get-sched
sda: bfq
sr0: bfq
# Query available I/O schedulers
[username@hostname ~]$ io-set-sched --list
mq-deadline kyber bfq none
# Set sda to use "kyber"
[username@hostname ~]$ io-set-sched kyber /dev/sda
Must be root to set IO Scheduler. Rerunning under sudo...
[sudo] password for username:
+ Successfully set sda to 'kyber'!
# Get i/o scheduler for all block devices to assert change
[username@hostname ~]$ io-get-sched
sda: kyber
sr0: bfq
# Set all block devices to use 'deadline' i/o scheduler
[username@hostname ~]$ io-set-sched deadline
Must be root to set IO Scheduler. Rerunning under sudo...
+ Successfully set sda to 'deadline'!
+ Successfully set sr0 to 'deadline'!
# Get the current block scheduler just for sda
[username@hostname ~]$ io-get-sched sda
sda: mq-deadline
Die Verwendung sollte selbsterklärend sein. Die Tools sind eigenständig und erfordern nur Bash.
Hoffe das hilft!
EDIT: Haftungsausschluss, das sind Skripte, die ich geschrieben habe.