Você não pode escolher o agendador CFQ no Kubuntu 19.04, pois ele foi removido do kernel 5.0. No meu caso, preciso do CFQ porque ele oferece o melhor desempenho com meu disco rígido giratório ao executar uma máquina virtual com Windows 10 como convidado. SO, os outros agendadores tornam o sistema inutilizável. O Kubuntu 19.04 na instalação por padrão oferece apenas 2 elevadores mq-deadline e nenhum que no meu caso ofereça um desempenho muito pior que o CFQ.
sudo cat/sys/block/sda/queue/scheduler mq-deadline none
Só tenho que tentar com outros 2 agendadores que não aparecem na instalação por padrão, esses agendadores são BFQ e Kyber.
A seguir descreverei como habilitar os módulos BFQ e Kyber
1) Primeiro verifique se os módulos existem no sistema com os seguintes comandos:
sudo modprobe bfq sudo modprobe kyber-iosched
se não houve erro você pode verificar se os módulos estão carregados com o comando
sudo cat/sys/block/sda/queue/scheduler
que deve retornar
mq-deadline [bfq] kyber none
2) faça esses módulos carregarem com a inicialização do sistema:
sudo -i echo kyber-iosched > /etc/modules-load.d/kyber-oisched.conf echo bfq > /etc/modules-load.d/bfq.conf
3) O próximo passo é informar ao sistema qual agendador usar, então um arquivo é criado caso ele não exista:
/etc/udev/rules.d/60-scheduler.rules
com as seguintes linhas
# 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"
se em vez de BFQ você quiser experimentar o kyber, substitua a última palavra da linha onde diz "bfq" por "kyber"
4) fazer o sistema reconhecer as mudanças
sudo udevadm control --reload; gatilho sudo udevadm
e as alterações são verificadas com
sudo cat/sys/block/sda/queue/scheduler
mq-deadline kyber [bfq] none
Finalizado.
Fontes:
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
Responder1
Dependendo da versão do seu kernel, o CFQ pode ter desaparecido. Ele foi removido a partir do Kernel 5.0. Isto é ogrupo de commits relacionados.
Responder2
Ubuntu 19.04 usa o kernel 5.0, então CFQ e Deadline não estão mais disponíveis.
Para a maioria das cargas de trabalho, mesmo em HDD, usar o agendador mq-deadline é tão eficiente quanto usar qualquer um dos agendadores antigos. Somente para cargas de trabalho com leituras/gravações sequenciais de disco, sem qualquer outra interferência, os agendadores antigos são mais rápidos.
Responder3
Em um laptop legado, com um disco rígido rotacional antigo e simples, o BFQ é essencial para ter um sistema responsivo enquanto alguma outra tarefa acessa o disco em segundo plano. Anteriormente, o kernel genérico do Ubuntu usava cfq:
$ zgrep IOSCHED /boot/config-*-generic
...
/boot/config-4.13.0-36-generic:CONFIG_DEFAULT_IOSCHED="cfq"
após a atualização, o kernel padrão do Ubuntu teve o CFQ removido (veja acima), e encontrei este padrão:
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
inaceitável devido ao atraso extremo na presença de atividade de disco em segundo plano. Presumo que isso seja um problema muito menor em hardware moderno com armazenamento em massa SDD/NVMe.
Como diz o OP, mudar para bfq resolve o problema de atraso.
Marco Gamberoni