Octavodia
Categorías
  • Aplicaciones
  • Blog
  • Ciencia
  • Comentarios tecnología
  • Correo Web
  • Electrónica
  • Historia Tecnología
  • Información
  • Tecnología
  • Test Tecnología
  • Vida
Octavodia
  • Tecnología

Cómo administrar la prioridad del proceso de E / S en Linux

Total
0
Shares
0
0
0

¿Ha copiado o movido decenas o cientos de gigabytes de datos? Si lo hizo, ciertamente notó que el sistema respondió menos durante ese tiempo. En Linux, puede evitar esto con la ayuda del comando ionice.

Administre la prioridad del proceso de E / S en Linux con ionice

  1. ¿Cuál es el nivel de prioridad de E / S?
  2. ¿Cómo funciona la prioridad de E / S?
  3. Cómo usar el comando ionice
    1. Clases de programación de Ionice
    2. Ejemplos útiles de iones

¿Cuál es el nivel de prioridad de E / S?

E / S apoya Entrada salida (entrada salida). Hay muchos tipos de dispositivos de E / S, pero en este caso, son dispositivos de almacenamiento.

A cada proceso que desee leer o escribir datos en dicho dispositivo se le asigna una clase de programación y un número de prioridad (o valor “legal”). Esto se aplica a Linux para sistemas de archivos como ext4. Otros sistemas de archivos, como ZFS, pueden realizar métodos ligeramente diferentes para programar operaciones de lectura / escritura en la unidad. Además, el planificador de CFQ debe estar habilitado para que esto funcione. Puede consultar con:

 cat /sys/block/*/queue/scheduler 

Un proceso con un valor “agradable” alto tiene una prioridad más baja.

¿Cómo funciona la prioridad de E / S?

Un dispositivo de almacenamiento explícito tiene un número limitado de operaciones de E / S que puede realizar por segundo (IOPS). Por lo tanto, cuando dos procesos desean leer / escribir al mismo tiempo, cada proceso recibirá una parte de IOPS. Si tienen la misma prioridad, cada proceso recibirá aproximadamente un 50% de IOPS.

Pero IOPS parece abstracto y complejo. Para simplificar, solo debes pensar en el resultado final: velocidad de lectura / escritura. Suponga que la unidad puede grabar a una velocidad máxima de 100 MB / s. El procedimiento A inicia una operación de escritura. Escribe en la unidad a una velocidad de 100 MB / s. Aparece el proceso B y desea escribir en la misma unidad. Escribirá a unos 50 MB / s y llevará la velocidad de escritura del proceso A al mismo valor, 50 MB / s. Ahora, si le da al proceso B un valor de E / S más alto, escribirá a 20 MB / sy dejará el proceso A a 80 MB / s. Cuando se completa el proceso A, el proceso B comenzará a grabar a 100 MB / s.

Este ejemplo es muy útil para comprender algo que puede resultar confuso para algunas personas. Si un proceso tiene una prioridad muy baja (buen valor alto), no significa que el proceso será lento todo el tiempo. Si es el único proceso que usa la unidad, leerá / escribirá a toda velocidad. Pero cuando otros procesos necesitan la unidad, se cerrará temporalmente y permitirá que esos procesos utilicen más ancho de banda de disco. Para una operación de copia / escritura que puede tardar horas en completarse, asignarle una prioridad baja es una buena idea si desea utilizar su computadora durante ese tiempo.

Cómo usar el comando ionice

La sintaxis general del comando es:

 ionice -c scheduling_class -n priority_nice_value command 

Clases de programación de Ionice

Inactivo (clase 3) : Los procesos de esta clase son de lectura / escritura solo cuando ningún otro programa necesita acceder a la unidad. Esto significa que el proceso de lectura / escritura solo funciona a máxima velocidad cuando no está en competencia. Cuando otro programa necesita un disco, el proceso en la clase inactiva solo lee / escribe con los recursos restantes. Desde 100 MB / s, puede escribir temporalmente a 5 MB / sy luego volver a 100 MB / s cuando otro programa termina de acceder a la unidad. Esta es la clase perfecta para trabajos a largo plazo en los que no desea ralentizar su sistema. No hay prioridad que especificar para esta clase.

Comando de ejemplo:

 ionice -c 3 cp /home/user/largefile /Backups 

Mejor esfuerzo (clase 2) : Hay una buena prioridad / valor entre 0 y 7 . Recuerde que los números más pequeños significan una prioridad más alta. Utilice esta clase cuando desee ajustar el tiempo de acceso al disco para dos o más procesos.

Por ejemplo, desea que la copia de seguridad se complete más rápido y darle un buen valor de 0. Además, también está transfiriendo 6 películas a otra unidad, pero no se apresure, así que especifique un buen valor. para este proceso es 7.

Comando de ejemplo:

 ionice -c 2 -n 0 backup_command 

Tiempo real (clase 1) : Se utiliza solo si el proceso debe registrarse lo antes posible y no debe interrumpirse por ningún otro programa muy importante. La mayoría de los usuarios nunca lo necesitarán y deben evitar usarlo, excepto en casos especiales. Esta clase también admite buenos valores que varían de 0 para 7 . Solo root puede usar esta clase. Esto significa que tendrá que agregar el sudo prefijo para el comando.

Tenga en cuenta que un proceso en la clase Realtime de prioridad 0 puede evitar otros procesos de recursos. En términos prácticos, esto significa que otros programas pueden tener que esperar varios minutos o incluso horas para terminar de escribir / leer unos pocos megabytes de datos. Utilice esta lección con cuidado, solo si está seguro de que la necesita. Si un proceso importante de clase 2 o 3 necesita acceder a la unidad, su sistema puede congelarse hasta que se complete el proceso de la clase en tiempo real.

Comando de ejemplo:

 sudo ionice -c 1 -n 7 bash 

Ejemplos útiles de iones

En el último ejemplo, en lugar de ejecutar el comando copiar / mover, se inició el shell (Bash). Ahora, cada comando subsiguiente que ingrese en este shell heredará la prioridad y la clase de programación de E / S. También puede hacer esto en una interfaz gráfica.

 ionice -c 3 pcmanfm 

El comando final lanzará un explorador de archivos en el escritorio LXDE. Reemplazar ‘pcmanfm’ con el nombre del explorador de archivos en su escritorio específico. Ahora, todas las actividades de la unidad que se inicien allí se realizarán con el programa I / O Idle.

En otras situaciones, la operación de copiar / mover puede haber funcionado. En ese caso, puede usar ionice de una manera diferente.

 ionice -c 3 -p 4910 

Esto cambia la clase de prioridad del programa que se ejecuta con el ID del proceso. 4910. Puede encontrar el PID (ID de proceso) con su administrador de tareas o con un comando como pgrep.

El comando ionice puede ser útil en escritorios en los que no desea experimentar retrasos al copiar / mover archivos grandes. Pero recuerde que ionice puede ser aún más útil en servidores. Ciertamente no desea que el alojamiento de un sitio web como visitante experimente un retraso al hacer una copia de seguridad completa, ¿verdad?

Espero que tengas éxito.

Linux

¿Ha copiado o movido decenas o cientos de gigabytes de datos? Si lo hizo, ciertamente notó que el sistema respondió menos durante ese tiempo. En Linux, puede evitar esto con la ayuda del comando ionice.

Administre la prioridad del proceso de E / S en Linux con ionice

  1. ¿Cuál es el nivel de prioridad de E / S?
  2. ¿Cómo funciona la prioridad de E / S?
  3. Cómo usar el comando ionice
    1. Clases de programación de Ionice
    2. Ejemplos útiles de iones

¿Cuál es el nivel de prioridad de E / S?

E / S apoya Entrada salida (entrada salida). Hay muchos tipos de dispositivos de E / S, pero en este caso, son dispositivos de almacenamiento.

A cada proceso que desee leer o escribir datos en dicho dispositivo se le asigna una clase de programación y un número de prioridad (o valor “legal”). Esto se aplica a Linux para sistemas de archivos como ext4. Otros sistemas de archivos, como ZFS, pueden realizar métodos ligeramente diferentes para programar operaciones de lectura / escritura en la unidad. Además, el planificador de CFQ debe estar habilitado para que esto funcione. Puede consultar con:

 cat /sys/block/*/queue/scheduler 

Un proceso con un valor “agradable” alto tiene una prioridad más baja.

¿Cómo funciona la prioridad de E / S?

Un dispositivo de almacenamiento explícito tiene un número limitado de operaciones de E / S que puede realizar por segundo (IOPS). Por lo tanto, cuando dos procesos desean leer / escribir al mismo tiempo, cada proceso recibirá una parte IOPS. Si tienen la misma prioridad, cada proceso recibirá aproximadamente un 50% de IOPS.

Pero IOPS parece abstracto y complejo. Para simplificar, solo debes pensar en el resultado final: velocidad de lectura / escritura. Suponga que la unidad puede grabar a una velocidad máxima de 100 MB / s. El procedimiento A inicia una operación de escritura. Escribe en la unidad a una velocidad de 100 MB / s. Aparece el proceso B y desea escribir en la misma unidad. Escribirá a unos 50 MB / s y llevará la velocidad de escritura del proceso A al mismo valor, 50 MB / s. Ahora, si le da al proceso B un valor de E / S más alto, escribirá a 20 MB / sy dejará el proceso A a 80 MB / s. Cuando se completa el proceso A, el proceso B comenzará a grabar a 100 MB / s.

Este ejemplo es muy útil para comprender algo que puede resultar confuso para algunas personas. Si un proceso tiene una prioridad muy baja (buen valor alto), no significa que el proceso será lento todo el tiempo. Si es el único proceso que utiliza la unidad, leerá / escribirá a toda velocidad. Pero cuando otros procesos necesitan la unidad, se cerrará temporalmente y permitirá que esos procesos utilicen más ancho de banda de disco. Para una operación de copia / escritura que puede tardar horas en completarse, asignarle una prioridad baja es una buena idea, si desea utilizar su computadora durante ese tiempo.

Cómo usar el comando ionice

La sintaxis general del comando es:

 ionice -c scheduling_class -n priority_nice_value command 

Clases de programación de Ionice

Inactivo (clase 3) : Los procesos de esta clase son de lectura / escritura solo cuando ningún otro programa necesita acceder a la unidad. Esto significa que el proceso de lectura / escritura solo funciona a máxima velocidad cuando no está en competencia. Cuando otro programa necesita un disco, el proceso en la clase inactiva solo lee / escribe con los recursos restantes. Desde 100 MB / s, puede escribir temporalmente a 5 MB / sy luego volver a 100 MB / s cuando otro programa termina de acceder a la unidad. Esta es la clase perfecta para trabajos a largo plazo en los que no desea ralentizar su sistema. No hay prioridad que especificar para esta clase.

Comando de ejemplo:

 ionice -c 3 cp /home/user/largefile /Backups 

Mejor esfuerzo (clase 2) : Hay una buena prioridad / valor entre 0 y 7 . Recuerde que números más pequeños significan mayor prioridad. Utilice esta clase cuando desee ajustar el tiempo de acceso al disco para dos o más procesos.

Por ejemplo, desea que su copia de seguridad se complete más rápido y darle un buen valor de 0. Además, también está transfiriendo 6 películas a otra unidad, pero no se apresure, así que especifique un buen valor. para este proceso es 7.

Comando de ejemplo:

 ionice -c 2 -n 0 backup_command 

Tiempo real (clase 1) : Se utiliza solo si el proceso debe registrarse lo antes posible y no debe interrumpirse por ningún otro programa muy importante. La mayoría de los usuarios nunca lo necesitarán y deben evitar usarlo, excepto en casos especiales. Esta clase también admite buenos valores que varían de 0 para 7 . Solo root puede usar esta clase. Esto significa que tendrá que agregar el sudo prefijo para el comando.

Tenga en cuenta que un proceso en la clase Realtime de prioridad 0 puede evitar otros procesos de recursos. En términos prácticos, esto significa que otros programas pueden tener que esperar varios minutos o incluso horas para terminar de escribir / leer unos pocos megabytes de datos. Utilice esta lección con cuidado, solo si está seguro de que la necesita. Si un proceso importante de clase 2 o 3 necesita acceder a la unidad, su sistema puede congelarse hasta que se complete el proceso de la clase en tiempo real.

Comando de ejemplo:

 sudo ionice -c 1 -n 7 bash 

Ejemplos útiles de iones

En el último ejemplo, en lugar de ejecutar el comando copiar / mover, se inició el shell (Bash). Ahora, cada comando subsiguiente que ingrese en ese shell heredará la prioridad y la clase de programación de E / S. También puede hacer esto en una interfaz gráfica.

 ionice -c 3 pcmanfm 

El comando final lanzará un explorador de archivos en el escritorio LXDE. Reemplazar ‘pcmanfm’ con el nombre del explorador de archivos en su escritorio específico. Ahora, todas las actividades de la unidad que se inicien allí se realizarán con el programa I / O Idle.

En otras situaciones, la operación de copiar / mover puede haber funcionado. En ese caso, puede utilizar ionice de una forma diferente.

 ionice -c 3 -p 4910 

Esto cambia la clase de prioridad del programa que se ejecuta con el ID del proceso. 4910. Puede encontrar el PID (ID de proceso) con su administrador de tareas o con un comando como pgrep.

El comando ionice puede ser útil en equipos de escritorio donde no desea experimentar retrasos al copiar / mover archivos grandes. Pero recuerde que ionice puede ser aún más útil en servidores. Ciertamente, no desea que el alojamiento de un sitio web como visitante experimente un retraso al hacer una copia de seguridad completa, ¿verdad?

Espero que tengas éxito.

Total
0
Shares
Share 0
Tweet 0
Pin it 0
Artículo anterior
  • Ciencia

Perspectivas futuras cuando las personas sean dueñas del sistema solar

Ver Publicación
Siguiente artículo
  • Historia Tecnología

Intel lanza un nuevo chip AI 1,000 veces más rápido que la CPU

Ver Publicación
También podría interesarte
Ver Publicación
  • Tecnología

Instrucciones para instalar myBB Forum en el servidor

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar Microsoft Office 2007 en Ubuntu 9.04

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar el sistema operativo Linux en el Chromebook

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar LAMP en Ubuntu para principiantes

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar Kali Linux a través de la red PXE

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Las instrucciones para instalar Kali Linux en Windows 10 son más fáciles que nunca

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar la grabadora Hikvision a través de la red

  • admin
  • diciembre 8, 2020
Ver Publicación
  • Tecnología

Instrucciones para instalar hass.io en Raspberry Pi 3

  • admin
  • diciembre 8, 2020

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Octavodia

Ingresa las palabras de la búsqueda y presiona Enter.