Scroll to navigation

IONICE(1) Commandes de lutilisateur IONICE(1)

NOM

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

SYNOPSIS

ionice [-c class] [-n level] [-t] -p PID

ionice [-c class] [-n level] [-t] -P PGID

ionice [-c class] [-n level] [-t] -u UID

ionice [-c class] [-n level] [-t] command [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.

-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.

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher le numéro de version et quitter.

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.

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.

AUTEURS

Jens Axboe <jens@axboe.dk>, Karel Zak <kzak@redhat.com>

VOIR AUSSI

ioprio_set(2)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande ionice fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-08-05 util-linux 2.40.2