Cómo y cuándo cambiar el programador de E/S en Linux

Cómo y cuándo cambiar el programador de E/S en Linux
El planificador de E/S es un tema fascinante; De antemano, entramos en cómo y cuándo ajustar el planificador de E/S; Tengamos una comprensión más profunda de lo que hacen los programadores de E/S. Un planificador de E/S de Linux gobierna cómo el kernel se compromete, lee y escribe en el disco. Los ejecutivos han sido capaces de ajustar el sistema de programación desde aproximadamente los 2.6 núcleos, lo que les permite adaptar sus marcos a sus requisitos exactos. Durante mucho tiempo se ha pensado que la accesibilidad del disco es el medio relativamente lento de acceso a los datos. A pesar de la creciente prevalencia de flash y el espacio sólido en el estado, recuperar datos del disco es lento que recopilar información de RAM. Esto es particularmente válido si el marco se basa en discos giratorios.

Por qué usar Scheduler:

Dado que los discos giratorios estándar escriben información basada en lugares en un plato giratorio, este es el caso. Al acceder a los datos desde un disco giratorio, la unidad real debe girar los platos a una posición específica para que se pueda leer la información. Esto se conoce como "búsqueda" porque puede llevar mucho más tiempo en términos de cálculo. Los programadores de E/S tienen como objetivo ayudarlo a aprovechar al máximo sus permisos de acceso a discos. Solíamos hacer lo mismo combinando transacciones de E/S y enviándolas a lugares de disco vecinos. La unidad ni siquiera tiene que "buscar" tanto cuando las solicitudes se agrupan en partes adyacentes del disco, lo que mejora el tiempo de respuesta promedio para las actividades operativas del disco. Hay muchas soluciones de S/S Scheduler disponibles en las arquitecturas de Linux actuales. Cualquiera de estos tiene su sistema para organizar solicitudes de acceso a discos. Este artículo aprenderá cómo verificar el programador actual en su sistema y cómo cambiar su planificador mientras trabaja en el sistema operativo Linux.

Tipos de programadores:

Parece que hay 3 tipos de programadores para elegir, cada uno con su propio conjunto de ventajas en el sistema operativo Linux. Entonces, aquí está la lista y explicación de cada planificador:

  • CFQ (CFQ): el programador estándar para tantas distribuciones de Linux; Cohorta solicitudes simultáneas realizadas por las operaciones en una serie de grupos por proceso antes de asignar tiempos de tiempo para usar el disco para cada cola.
  • El programador NOOP (NOOP): Es el planificador de E/S más básico para el núcleo de Linux, construido sobre el principio de FIFO Pool. Este planificador funciona bien para SSDS.
  • Fecha de fecha límite (fecha límite): Este planificador intenta garantizar una solicitud de comienzo del período de servicio.

Verifique el programador actual:

Antes de seguir adelante, debe saber sobre el planificador de E/S configurado en su sistema Linux actual. En el momento de la implementación, hemos estado utilizando el Ubuntu 20.04 Sistema Linux, por lo que nuestro planificador será. Podría ser posible que su sistema Linux tenga un planificador de E/S diferente configurado en el sistema. Entonces, inicie sesión desde su sistema Linux actual para intentar verificarlo. Ahora, inicie la cubierta terminal usando la tecla de acceso directo simple, "Ctrl+Alt+T."Puede intentar abrir la carcasa terminal usando el área de la barra de actividades en su escritorio de Linux. Ahora, se ha abierto el terminal de comandos-cáscara, podemos comenzar a trabajar en ello. En primer lugar, tenemos que iniciar sesión como usuario de sudo desde el terminal para trabajar de manera eficiente y sin interrupción. Entonces, escriba el comando "SU" en el terminal para iniciar sesión. Le pedirá que la contraseña de su cuenta de sudo se inicie sesión en. Escriba la contraseña de la cuenta de sudo y presione la tecla "Ingrese" desde su máquina de escribir.

$ su

Ahora, es hora de verificar e identificar el planificador de E/S de nuestro sistema Linux. Como saben, actualmente, hemos estado trabajando en Ubuntu 20.04 El sistema Linux para estar de acuerdo con él, y tenemos que verificarlo leyendo el archivo de programador a través de su ruta. Por lo tanto, tenemos que probar las siguientes instrucciones de CAT en la terminal de shell junto con la ubicación del archivo a través de la ruta y presionar el botón "Ingrese desde la máquina de escribir de su computadora.

# Cat/Sys/Block/SDA/Queue/Scheduler

La imagen a continuación muestra la salida como "[MQ-Dieadline] Ninguno", lo que significa que nuestro dispositivo tiene un programador de fecha límite de múltiples costas. Es una adaptación específica del dispositivo múltiple del planificador de E/S de fecha límite. Un sólido All-Arounder con bajo uso de CPU.

Nota: Tienes que dejar en claro que los programadores de E/S de múltiples costas son los programadores de E/S solitarios que se ofrecen en el Ubuntu Eoan Ormine 19.10 así como de cabeza.

Cambie el planificador de E/S:

Si un usuario del sistema Linux quiere cambiar su planificador de E/S a "Kyber" Primero tienen que instalar el paquete "Kyber" en su sistema Linux en los dos pasos a continuación. Uno debe tener que ejecutar el siguiente comando sudo que tiene la palabra clave "modprobe" con el nombre de un planificador como "kyber-iosched."

# sudo modprobe kyber-iosched

El segundo paso es ejecutar el mismo comando "gato" mencionado en uno de los comandos anteriores para instalarlo.

# Cat/Sys/Block/SDA/Queue/Scheduler

Ahora el "Kyber" está configurado con éxito. Ahora puede habilitar "Kyber" utilizando el siguiente comando de programador "Echo" junto con las palabras clave "sudo" y "tee" que tienen la ruta de un programador adjunto a él. La imagen de salida presenta el planificador habilitado "Kyber."

# Echo "Kyber" | Sudo Tee/Sys/Block/SDA/Queue/Scheduler

La siguiente salida muestra que el "Kyber" se ha establecido en predeterminado.

# Cat/Sys/Block/SDA/Queue/Scheduler

Para cambiar el planificador al planificador "BFQ", instálelo utilizando el siguiente comando.

# sudo modprobe bfq

Ahora ejecuta el mismo comando de "gato".

# Cat/Sys/Block/SDA/Queue/Scheduler

Ahora se ha instalado el "BFQ", habilitarlo utilizando el mismo comando "Echo".

# echo "BFQ" | Sudo Tee/Sys/Block/SDA/Queue/Scheduler

Verifique el programador predeterminado "BFQ" a través del comando "CAT".

# Cat/Sys/Block/SDA/Queue/Scheduler

Conclusión:

Este artículo de tutorial ha cubierto una forma simple de cambiar el planificador de E/S usando dos programadores diferentes. Hemos discutido por qué el sistema quiere cambiar su planificador espero que funcione para usted.