Usar o BFQ a partir do kernel 4.12

Iniciado por swatquest, 28 de Julho de 2019, 23:44

tópico anterior - próximo tópico

swatquest

Por padrão o escalonador de processos  bfq não vem habilitado.

Para habilitar, siga o procedimento abaixo:

Crie o arquivo
/etc/udev/rules.d/60-scheduler.rules
E adicione
#definindo sda até sdz
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="bfq"


Caso tenha um SSD ou NVMe
Na particão do ssd pode deixar como  noop ou mq-deadline

Por exemplo
# definindo agendador para NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
# definindo agendador para  SSD e eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# definindo agendador para discos rotativos
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
[color=#00BF40]



Nos novos kernel não há necessidade de modificar a linha do kernel
não sei exatamente a partir de qual versão já foi implementado, mas do 4.19 em diante não precisa modificar

E na linha kernel do grub adicione
scsi_mod.use_blk_mq=1
Vai no arquivo e o edite
/etc/default/grub


Em
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Adicone o scsi_mod.use_blk_mq=1
GRUB_CMDLINE_LINUX_DEFAULT="quiet scsi_mod.use_blk_mq=1"
depois execute
grub-mkconfig -o /boot/grub/grub.cfg
Depois para conferir use os comandos abaixo.

cat /sys/block/sda/queue/scheduler
cat /sys/block/sdb/queue/scheduler
cat /sys/block/sdc/queue/scheduler
etc...