GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Ionice n'a aucun effet sur les écritures non synchronisées (c'est-à-dire les écritures normales) ?

Lorsque je vide une grande base de données MySQL (son vidage pèse environ 10 Go)
- il apparaît sur le disque presque immédiatement, mais ensuite, plus tard, lorsque le noyau
décide de le vider sur le disque, le serveur presque les décrochages et autres requêtes d'E/S
prennent beaucoup plus de temps à se terminer même si mysqldump est exécuté avec ionice -c3,
donc l'utilisation d'ionice n'a pas d'effet réel.

Artem

Lorsque vous écrivez des données dans le cache de page, il n'y a pas de champ pour stocker la priorité IO. Donc ionice n'aura aucun effet. Ai-je raison ?

Ma dernière version du noyau est 4.18.16-200.fc28.x86_64 .

Réponse acceptée :

Oui.

En théorie, ionice vous permet de hiérarchiser les E/S d'une commande de la même manière que nice(1) hiérarchise théoriquement son utilisation du processeur. Ce serait un moyen pratique de permettre, par exemple, à une compilation volumineuse mais relativement importante de se dérouler en arrière-plan sans gêner votre utilisation interactive de la machine.

(Pourquoi oui, je recompile Firefox à partir des sources de temps en temps.)

[…]

Le problème suivant est que même en s'exécutant directement sur un disque, ionice ne fait rien pour déprioriser les E/S d'écriture asynchrones. C'est, eh bien, la plupart des E/S d'écriture que la plupart des programmes feront. Ionice peut ralentir les écritures synchrones (je n'ai pas de programme de test) et cela fonctionne certainement pour les lectures, mais c'est tout.

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


Linux
  1. erreur :src refspec main ne correspond à aucun [GIT]

  2. Dans `while Ifs=Read..`, Pourquoi Ifs n'a-t-il aucun effet ?

  3. Linux - Pourquoi Setuid ne fonctionne-t-il pas ??

  4. Linux – Pourquoi la locale Es_mx fonctionne-t-elle mais pas Es ?

  5. Linux - Le périphérique Eth0 ne semble pas être présent, ce qui retarde l'initialisation ?

La commande Linux sed ne modifie pas le fichier cible

Le noyau Linux a-t-il une fonction principale ?

Pourquoi pr_debug du noyau Linux ne donne-t-il aucune sortie ?

Pourquoi cette regex ne fonctionne-t-elle pas sous Linux ?

quels tueurs de processus Linux a-t-il?

GPG n'a pas assez d'entropie