Question Quelle est la durée du «délai de grâce défini» pour la classe de planification inactive du planificateur CFQ io?


le ionice page de manuel dit

Un programme qui fonctionne avec une priorité inactif n'entraînera que du temps disque   lorsqu'aucun autre programme n'a demandé de Disk io pour une période de grâce définie.

Où cette "période de grâce" est-elle définie? Est-ce visible / ajustable (peut-être via / sys)?


5
2018-02-24 15:13


origine


Qu'essayez-vous de faire? Version OS et distribution, s'il vous plaît? - ewwhite
linux (toute distribution avec le planificateur CFQ io). - jhfrontz
J'ai tendance à ne pas utiliser le planificateur CFQ si je me soucie de la performance des applications. deadline ou noop plus logique dans de nombreuses situations ... Utiliser l'un de ces rendus ionice inutilisable. Qu'essayez-vous de faire? - ewwhite
J'essaie de comprendre ce qu'est le délai de grâce afin de pouvoir déterminer si cela a du sens pour la charge que je mets sur une boîte. - jhfrontz


Réponses:


La période de grâce est de 250 millisecondes.

http://lkml.indiana.edu/hypermail/linux/kernel/0412.2/1099.html

There is an idle scheduling class, which only runs when nothing else
is using the disk. A grace period is defined for which idle has to
wait before getting disk access when other io has run. This defaults
to 250ms currently.

Vous n’avez pas fourni la version ou la distribution du système d’exploitation (et oui, cela fait une différence), mais le réglage pour RHEL / CentOS 5 + 6 est défini ici comme fifo_expire_async dans /sys/block/[device]/queue/iosched/ (où [périphérique] est sda, sdb, cciss0, etc.).


4
2018-02-24 16:16



Si je comprends bien cette page RH, n'est-ce pas réellement slice_idle (et donc 8 ms)? - jhfrontz
Plus je joue avec cela, plus je me persuade que le délai de grâce est de zéro. Je suis sur FC7 et j'ai essayé d'écrire des processus intensifs en E / S et de les affecter à différentes classes de planification. Peu importe combien je sature le périphérique de blocage cfq, je ne vois jamais de blocage sur les processus "inactifs". Je pense que le moment est peut-être venu pour moi de poser une question plus générale, à savoir "comment testez-vous que l'ionice fonctionne réellement"? - jhfrontz
Je ne suis pas sûr. Comme je l'ai dit précédemment, vous voudrez peut-être examiner l'un des autres algorithmes de planificateur. je préfère deadline plus de cfq. - ewwhite
La question plus générale est terminée à serverfault.com/q/369382/95287 - jhfrontz