Kubuntu 19.04에서 CFQ 엘리베이터를 설정할 수 없습니다

Kubuntu 19.04에서 CFQ 엘리베이터를 설정할 수 없습니다

CFQ 스케줄러는 5.0 커널에서 제거되었으므로 Kubuntu 19.04에서는 선택할 수 없습니다. 제 경우에는 Windows 10을 게스트로 사용하여 가상 머신을 실행할 때 회전하는 하드 드라이브로 최고의 성능을 제공하기 때문에 CFQ가 필요합니다. SO, 다른 스케줄러로 인해 시스템을 사용할 수 없게 됩니다. 설치 시 Kubuntu 19.04는 기본적으로 2개의 엘리베이터 mq-deadline만 제공하며 제 경우에는 CFQ보다 훨씬 나쁜 성능을 제공하는 것은 없습니다.

sudo cat/sys/block/sda/queue/scheduler mq-deadline none

기본적으로 설치에 나타나지 않는 2개의 다른 스케줄러를 사용해 보아야 합니다. 이 스케줄러는 BFQ와 Kyber입니다.

다음으로 BFQ 및 Kyber 모듈을 활성화하는 방법을 설명하겠습니다.

1) 먼저 다음 명령을 사용하여 모듈이 시스템에 존재하는지 확인하십시오.

sudo modprobe bfq sudo modprobe kyber-iosched

오류가 없으면 다음 명령을 사용하여 모듈이 로드되었는지 확인할 수 있습니다.

sudo cat/sys/block/sda/queue/scheduler

반환해야 하는 것

mq-deadline [bfq] kyber none

2) 시스템 시작과 함께 다음 모듈을 로드합니다.

sudo -i echo kyber-iosched > /etc/modules-load.d/kyber-oisched.conf echo bfq > /etc/modules-load.d/bfq.conf

3) 다음 단계는 사용할 스케줄러를 시스템에 알려주는 것입니다. 파일이 없으면 파일이 생성됩니다.

/etc/udev/rules.d/60-scheduler.rules

다음 줄로

# set cfq scheduler 
ACTION=="add|change",KERNEL=="sd[a-z]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"
ACTION=="add|change",KERNEL=="sr[0-9]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"

BFQ 대신 kyber를 사용해보고 싶다면 "bfq"라고 적힌 줄의 마지막 단어를 "kyber"로 바꾸세요.

4) 시스템이 변경 사항을 인식하도록 만듭니다.

sudo udevadm 제어 --reload; sudo udevadm 트리거

변경 사항은 다음을 통해 확인됩니다.

sudo cat/sys/block/sda/queue/scheduler

mq-deadline kyber [bfq] none

완성된.

출처:

https://community.chakralinux.org/t/how-to-enable-the-bfq-io-scheduler-on-kernel-4-12/6418

https://unix.stackexchange.com/questions/375600/how-to-enable-and-use-the-bfq-scheduler#376136

답변1

커널 버전에 따라 CFQ가 사라질 수 있습니다. 커널 5.0부터 제거되었습니다. 이것이관련 커밋 그룹.

답변2

Ubuntu 19.04는 5.0 커널을 사용하므로 CFQ 및 Deadline을 더 이상 사용할 수 없습니다.

심지어 HDD에서도 대부분의 워크로드의 경우 mq-deadline 스케줄러를 사용하는 것은 기존 스케줄러를 사용하는 것만큼 효율적입니다. 다른 간섭 없이 순차 디스크 읽기/쓰기만 있는 워크로드의 경우에만 기존 스케줄러가 더 빠릅니다.

답변3

일반 회전식 하드 디스크가 있는 레거시 노트북에서 BFQ는 다른 작업이 백그라운드에서 디스크에 액세스하는 동안 반응하는 시스템을 갖추는 데 필수적입니다. 이전에는 Ubuntu 일반 커널에서 cfq를 사용했습니다.

    $ zgrep IOSCHED /boot/config-*-generic
    ...
    /boot/config-4.13.0-36-generic:CONFIG_DEFAULT_IOSCHED="cfq"

업그레이드 후 기본 Ubuntu 커널에서 CFQ가 제거되었으며(위 참조) 다음 기본값을 찾았습니다.

    $ cat /sys/block/sda/queue/scheduler
    [mq-deadline] none

백그라운드 디스크 활동이 있을 때 극심한 지연으로 인해 허용되지 않습니다. SDD/NVMe 대용량 스토리지를 갖춘 최신 하드웨어에서는 이것이 문제가 훨씬 덜하다고 생각합니다.

OP가 말했듯이 bfq로 전환하면 지연 문제가 해결됩니다.

마르코 감베로니

관련 정보