커널 cmdline (예 : grub.cfg)에 "elevator"매개 변수를 추가하여 부팅시이를 설정할 수 있습니다.
예:
elevator=deadline
이렇게하면 모든 블록 장치의 기본 I / O 스케줄러가 "마감일"이됩니다.
시스템이 부팅 된 후 스케줄러를 쿼리 또는 변경하거나 특정 블록 장치에 대해 다른 스케줄러를 사용하려면 ioschedset 도구를 설치하여 사용하는 것이 좋습니다 .
https://github.com/kata198/ioschedset
Archlinux를 사용하는 경우 aur에서 사용할 수 있습니다.
https://aur.archlinux.org/packages/ioschedset
사용 예 :
# 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
사용법은 자명해야합니다. 이 도구는 독립형이며 bash 만 필요합니다.
도움이 되었기를 바랍니다!
편집 : 면책 조항, 이들은 내가 작성한 스크립트입니다.