View a markdown version of this page

I/O programador para AL2 - Amazon Linux 2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

I/O programador para AL2

El I/O planificador es una parte del sistema operativo Linux que clasifica y combina I/O las solicitudes y determina el orden en que se procesan.

I/O los programadores son especialmente útiles para dispositivos como los discos duros magnéticos, en los que el tiempo de búsqueda puede resultar caro y en los que resulta óptimo combinar las solicitudes que se encuentran en el mismo lugar. I/O los programadores tienen menos efecto con los dispositivos de estado sólido y los entornos virtualizados. Esto se debe a que para los dispositivos de estado sólido, el acceso secuencial y aleatorio no difiere, y para los entornos virtualizados, el host proporciona su propia capa de programación.

En este tema se describe el programador de Amazon Linux. I/O Para obtener más información sobre el I/O planificador que utilizan otras distribuciones de Linux, consulte su documentación correspondiente.

Programadores admitidos

Amazon Linux admite los siguientes programadores: I/O

  • deadline— El I/O programador de fechas límite ordena I/O las solicitudes y las gestiona en el orden más eficiente. Garantiza una hora de inicio para cada I/O solicitud. También otorga mayor prioridad a I/O las solicitudes que han estado pendientes durante demasiado tiempo.

  • cfq— El I/O programador Completely Fair Queueing (CFQ) intenta asignar I/O los recursos de manera justa entre los procesos. Ordena e inserta las I/O solicitudes en las colas por proceso.

  • noop— El I/O programador sin operaciones (noop) inserta todas las I/O solicitudes en una cola FIFO y, a continuación, las combina en una sola solicitud. Este programador no ordena ninguna solicitud.

Programador predeterminado

No Operation (noop) es el planificador predeterminado de Amazon Linux. I/O Este programador se utiliza por las razones siguientes:

  • Muchos tipos de instancia utilizan dispositivos virtualizados en los que el host subyacente realiza la programación de la instancia.

  • Los dispositivos de estado sólido se utilizan en muchos tipos de instancias en las que las ventajas de un I/O planificador tienen menos efecto.

  • Es el I/O programador menos invasivo y se puede personalizar si es necesario.

Cambiar el programador

Cambiar el I/O programador puede aumentar o disminuir el rendimiento en función de si el programador da como resultado que se completen más o menos I/O solicitudes en un tiempo determinado. Esto depende en gran medida de la carga de trabajo, de la generación del tipo de instancia que se está utilizando y del tipo de dispositivo al que se accede. Si cambias el I/O planificador que estás utilizando, te recomendamos que utilices una herramienta, como iotop, para medir el I/O rendimiento y determinar si el cambio es beneficioso para tu caso práctico.

Puedes ver el I/O planificador de un dispositivo mediante el siguiente comando, que se utiliza nvme0n1 como ejemplo. Reemplace nvme0n1 en el siguiente comando con el dispositivo que aparece en /sys/block en la instancia.

$ cat /sys/block/nvme0n1/queue/scheduler

Para configurar el I/O planificador del dispositivo, utilice el siguiente comando.

$ echo cfq|deadline|noop > /sys/block/nvme0n1/queue/scheduler

Por ejemplo, para configurar el I/O planificador de un xvda dispositivo de noop acfq, utilice el siguiente comando.

$ echo cfq > /sys/block/xvda/queue/scheduler