no se puede configurar el elevador CFQ en Kubuntu 19.04

no se puede configurar el elevador CFQ en Kubuntu 19.04

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

información relacionada