GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿Ionice no tiene ningún efecto en las escrituras no sincronizadas (es decir, escrituras normales)?

Cuando vuelco una base de datos MySQL grande (su volcado pesa alrededor de 10 GB)
, aparece en el disco casi de inmediato, pero luego, más tarde, cuando el kernel
decide vaciarlo en el disco, el servidor casi las paradas y otras solicitudes de E/S
tardan mucho más en completarse aunque mysqldump se ejecuta con ionice -c3,
por lo que el uso de ionice no tiene ningún efecto real.

Artem

Cuando escribe datos en la memoria caché de la página, no hay ningún campo para almacenar la prioridad de E/S. Así que ionice no tendrá ningún efecto. ¿Tengo ese derecho?

Mi última versión del kernel es 4.18.16-200.fc28.x86_64 .

Respuesta aceptada:

Sí.

En teoría, ionice le permite priorizar el IO de un comando de la misma manera que nice(1) teóricamente prioriza el uso de su CPU. Esta sería una forma práctica de permitir, por ejemplo, que una compilación grande pero relativamente importante se desarrolle en segundo plano sin interferir con el uso interactivo de la máquina.

(Sí, sí, vuelvo a compilar Firefox desde el código fuente de vez en cuando).

[…]

El siguiente problema es que incluso cuando se ejecuta directamente en un disco, ionice no hace nada para despriorizar la E/S de escritura asíncrona. Esto es, bueno, la mayor parte del IO de escritura que harán la mayoría de los programas. Ionice puede ralentizar las escrituras síncronas (no tengo un programa de prueba) y definitivamente funciona para lecturas, pero eso es todo.

https://utcc.utoronto.ca/~cks/space/blog/linux/IoniceNotes


Linux
  1. Linux:¿por qué no funciona Setuid?

  2. Linux – ¿Por qué Locale Es_mx funciona pero no Es?

  3. Linux:¿el dispositivo Eth0 no parece estar presente, lo que retrasa la inicialización?

  4. Linux:¿por qué Rsync en Linux no conserva todas las marcas de tiempo (hora de creación)?

  5. Linux - Ldd no encuentra la ruta, ¿cómo agregar?

¿Cómo decide un programa si tiene o no una salida en color?

¿Linux Setuid no funciona?

En `while Ifs=Read..`, ¿por qué Ifs no tiene efecto?

Linux:¿Udev no cambia el nombre del dispositivo USB Ethernet?

El comando sed de Linux no cambia el archivo de destino

¿Por qué esta expresión regular no funciona en Linux?