Manpages

NOM

ionice - Obtenir ou définir la classe et la priorité d’ordonnancement des entrées et sorties d’un processus

SYNOPSIS

ionice [-c classe] [-n niveau] [-t] -p PID ...
ionice
[-c classe] [-n niveau] [-t] -P PGID ...
ionice
[-c classe] [-n niveau] [-t] -u UID ...
ionice
[-c classe] [-n niveau] [-t] commande [argument] ...

DESCRIPTION

Ce programme définit ou lit la priorité et la classe d’ordonnancement des entrées et sorties d’un programme. S’il n’y a pas de paramètre ou si seul -p est donné, ionice demandera la classe et la priorité actuelle d’ordonnancement d’entrées et sorties pour ce processus.

Si la commande est fournie, ionice exécutera cette commande avec les arguments fournis. Si aucune classe n’est indiquée, la commande sera exécutée avec la classe d’ordonnancement au mieux. Le niveau de priorité par défaut est 4.

Un processus peut appartenir à l’une de ces trois classes d’ordonnancement :
Au ralenti (« idle »)

Un programme s’exécutant avec une priorité d’entrées et sorties au ralenti n’obtiendra du temps pour accéder au disque que si aucun autre programme ne demande des entrées et sorties sur les disques pendant une période donnée. L’impact d’un processus avec une classe d’ordonnancement d’entrées et sorties au ralenti sur l’activité normale du système devrait être nul. Cette classe d’ordonnancement de processus ne prend pas de priorité en paramètre. Cette classe d’ordonnancement est permise pour un simple utilisateur (depuis Linux 2.6.25).

Au mieux (« best-effort »)

C’est la classe d’ordonnancement par défaut pour chaque processus qui n’a pas demandé une priorité spécifique d’entrées et sorties. Les programmes héritent des paramètres de politesse (« nice ») du processeur pour les priorités d’entrées et sorties. Cette classe prend une priorité en paramètre dans la gamme 0-7, où un nombre plus bas sera d’une priorité plus haute. Les programmes en cours d’exécution ayant la même priorité au mieux sont servis les uns après les autres.

Notez qu’avant le noyau 2.6.26, un processus qui n’a pas demandé de priorité d’entrées et sorties utilise la classe d’ordonnancement « none » (aucune), mais l’ordonnanceur d’entrées et sorties traitera un tel processus comme s’il était de la classe au mieux. La priorité dans la classe au mieux sera dynamiquement dérivée du niveau de politesse processeur du processus d’entrées et sorties : « io_priority » = (politesse_cpu + 20) / 5.

Pour les noyaux postérieurs à 2.6.26 avec l’ordonnanceur d’entrées et sorties CFQ, un processus qui n’a pas demandé de priorité d’entrées et sorties hérite de la classe d’ordonnancement de son processeur. La priorité d’entrées et sorties est dérivée du niveau de politesse processeur du processus d’entrées et sorties (comme avant le noyau 2.6.26).

Temps réel (« realtime »)

La classe d’ordonnancement temps réel donne d’abord l’accès au disque, sans se soucier des autres exécutions sur le système. De ce fait, la classe temps réel doit être utilisée avec attention, car elle peut « affamer » d’autres processus. Comme la classe au mieux, 8 niveaux de priorité sont définis dénotant la période de temps qu’un processus donné recevra dans chaque fenêtre d’ordonnancement. Cette classe d’ordonnancement n’est pas permise pour un simple utilisateur (c’est-à-dire, non superutilisateur).

OPTIONS

-c, --class classe

Indiquer le nom ou le numéro de la classe d’ordonnancement à utiliser : 0 pour aucune, 1 pour temps réel, 2 pour au mieux, 3 pour au ralenti.

-n, --classdata niveau

Indiquer les données de la classe d’ordonnancement. Cela n’a d’effet que si la classe accepte un paramètre. Pour les classes temps réel et au mieux, les données valables sont dans l’intervalle 0-7 (niveaux de priorité) et 0 représente le niveau de priorité le plus élevé.

-p, --pid PID ...

Indiquer les identifiants de processus des processus en cours d’exécution desquels obtenir ou définir les paramètres d’ordonnancement.

-P, --pgid PGID ...

Indiquer les identifiants de groupe de processus des processus en cours d’exécution desquels obtenir ou définir les paramètres d’ordonnancement.

-t, --ignore

Ignorer les échecs de définition de la priorité demandée. Si commande était fournie, le programme est exécuté même s’il n’était pas possible de définir la priorité d’ordonnancement demandée, ce qui peut arriver à cause de droits insuffisants ou d’une vieille version du noyau.

-h, --help

Afficher l’aide-mémoire puis quitter.

-u, --uid UID ...

Indiquer les identifiants d’utilisateur de processus des processus en cours d’exécution desquels obtenir ou définir les paramètres d’ordonnancement.

-V, --version

Afficher le nom et la version du logiciel et quitter.

EXEMPLES

# ionice -c 3 -p 89
Définit le processus avec le PID 89 comme un processus de la classe
d’entrées et sorties au ralenti.
# ionice -c 2 -n 0 bash
Exécute « bash » comme un programme au mieux avec la priorité la plus
élevée.
# ionice -p 89 91
Renvoie la classe et la priorité des processus des PID 89 et 91.

NOTES

Linux prend en charge des priorités et classes d’ordonnancement d’entrées et sorties depuis 2.6.13 avec l’ordonnanceur d’entrées et sorties CFQ.

AUTEURS

Jens Axboe <jens [AT] axboe.dk>
Karel Zak <kzak [AT] redhat.com>

VOIR AUSSI

ioprio_set(2)

DISPONIBILITÉ

La commande ionice fait partie du paquet util-linux, elle est disponible sur https://www.kernel.org/pub/linux/utils/util-linux/.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb [AT] club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud [AT] mandriva.com>, Frédéric Delanoy <delanoy_f [AT] yahoo.com>, Thierry Vignaud <tvignaud [AT] mandriva.com>, Christophe Sauthier <christophe [AT] sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna [AT] yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal [AT] univ-montp2.fr>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Yves Rütschlé <l10n [AT] rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Philippe Piette <foudre-blanche [AT] skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo [AT] gmail.com>, Nicolas Haller <nicolas [AT] boiteameuh.org>, Sylvain Archenault <sylvain.archenault [AT] laposte.net>, Valéry Perrin <valery.perrin.debian [AT] free.fr>, Jade Alglave <jade.alglave [AT] ens-lyon.org>, Nicolas François <nicolas.francois [AT] centraliens.net>, Alexandre Kuoch <alex.kuoch [AT] gmail.com>, Lyes Zemmouche <iliaas [AT] hotmail.fr>, Florentin Duneau <fduneau [AT] gmail.com>, Alexandre Normand <aj.normand [AT] free.fr> et David Prévot <david [AT] tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french [AT] lists.org>.