No puede elegir el programador CFQ en Kubuntu 19.04 ya que se eliminó del kernel 5.0. En mi caso necesito CFQ porque ofrece el mejor rendimiento con mi disco duro giratorio cuando ejecuto una máquina virtual con Windows 10 como invitado, por lo que los otros programadores inutilizan el sistema. Kubuntu 19.04 en la instalación por defecto solo ofrece 2 ascensores mq-deadline y ninguno que en mi caso ofrece un rendimiento mucho peor que CFQ.
sudo cat/sys/block/sda/queue/scheduler mq-deadline none
Solo me queda probar con otros 2 planificadores que no aparecen en la instalación por defecto, estos planificadores son BFQ y Kyber.
A continuación describiré cómo habilitar los módulos BFQ y Kyber.
1) Primero verifique que los módulos existan en el sistema con los siguientes comandos:
sudo modprobe bfq sudo modprobe kyber-iosched
si no hubo error puedes verificar que los módulos estén cargados con el comando
sudo cat/sys/block/sda/queue/scheduler
que debe regresar
mq-deadline [bfq] kyber none
2) hacer que estos módulos se carguen con el inicio del sistema:
sudo -i echo kyber-iosched > /etc/modules-load.d/kyber-oisched.conf echo bfq > /etc/modules-load.d/bfq.conf
3) El siguiente paso es decirle al sistema qué programador usar, luego se crea un archivo si no existe:
/etc/udev/rules.d/60-scheduler.rules
con las siguientes lineas
# 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"
si en lugar de BFQ quieres probar kyber, reemplaza la última palabra de la línea donde dice "bfq" por "kyber"
4) hacer que el sistema reconozca los cambios
control sudo udevadm --recargar; disparador sudo udevadm
y los cambios se verifican con
sudo cat/sys/block/sda/queue/scheduler
mq-deadline kyber [bfq] none
Finalizado.
Fuentes:
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
Respuesta1
Dependiendo de la versión de su kernel, es posible que CFQ desaparezca. Se eliminó a partir del Kernel 5.0. Este es elgrupo de compromiso relacionado.
Respuesta2
Ubuntu 19.04 usa el kernel 5.0, por lo que CFQ y Deadline ya no están disponibles.
Para la mayoría de las cargas de trabajo, incluso en HDD, usar el programador mq-deadline es tan eficiente como usar cualquiera de los programadores antiguos. Solo para cargas de trabajo con lecturas/escrituras de disco secuenciales, sin ninguna otra interferencia, los programadores antiguos son más rápidos.
Respuesta3
En una computadora portátil heredada, con un disco duro giratorio antiguo y simple, BFQ es esencial para tener un sistema receptivo mientras alguna otra tarea accede al disco en segundo plano. Anteriormente, el kernel genérico de Ubuntu usaba cfq:
$ zgrep IOSCHED /boot/config-*-generic
...
/boot/config-4.13.0-36-generic:CONFIG_DEFAULT_IOSCHED="cfq"
Después de la actualización, se eliminó el CFQ del kernel estándar de Ubuntu (ver arriba) y encontré este valor predeterminado:
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
inaceptable debido al retraso extremo en presencia de actividad de disco en segundo plano. Supongo que esto es un problema mucho menor en el hardware moderno con almacenamiento masivo SDD/NVMe.
Como dice OP, cambiar a bfq resuelve el problema del retraso.
Marco Gamberoni