튜토리얼에서 cfq, noop와 같은 다양한 IO 스케줄러를 보았지만 Linux에서 테스트할 때는 보이지 않았습니다.
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ uname -r
5.13.0-27-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
스케줄러를 더 많이 보기 위해 할 수 있는 일이 더 있는지 궁금합니다. 어떤 아이디어가 있나요?
고쳐 쓰다:
제안한 대로 다음 IOSCHED 값이 표시됩니다.
$ grep IOSCHED /boot/config-5.13.0-27-generic
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=m
CONFIG_BFQ_GROUP_IOSCHED=y
또한 두 가지 모듈이 있습니다 /lib/modules
.
$ ls /lib/modules/5.13.0-27-generic/kernel/block/
bfq.ko kyber-iosched.ko
모듈을 로드할 때 목록에 bfq가 표시되지 않습니다.
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ sudo modprobe kyber-iosched bfq
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber none
이것이 올바른 출력입니까?
답변1
대부분의 배포 커널에서는 다른 스케줄러를 사용할 수 있지만 로드해야 합니다.
sudo modprobe kyber-iosched
sudo modprobe bfq
Kyber 및 BFQ I/O 스케줄러가 로드됩니다.block/Kconfig.iosched
자세한 내용은) 다음 항목을 선택할 수 있어야 합니다.
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber bfq none
/lib/modules/$(uname -r)/kernel/block
커널 파일( )의 내용과 설정을 확인합니다 .IOSCHED
.config
/boot/config-$(uname -r)