nice

La commande nice permet de gérer la priorité des processus lors de leur lancement.

La priorité des processus

L'ordonanceur du noyau Linux gère les processus de façon équitable entre les utilisateurs (ou les groupes de processus si c'est configuré). Une notion de priorité dynamique existe dans le noyau pour permettre l'équilibrage des tâches et la résolution de certains problèmes.

Le nice permet d'influencer la priorité des processus définie par le noyau. Le mot "nice" signifie gentil en Anglais, c'est donc une mesure de "gentillesse" entre les processus.

Cette mesure de gentillesse s'étale entre 19 (le moins prioritaire) et -20 (le plus prioritaire). Seul le super utilisateur (le root) peut mettre une priorité négative. Un utilisateur normal ne peut donc que diminuer sa priorité vis-à-vis des autres processus, jamais l'augmenter.

Utiliser nice

Pour utiliser nice, il suffit de faire précéder la commander à lancer par nice suivit de l'option -n suivit de la priorité désirée.

Voici par exemple le lancement de la commande top avec la priorité minimale:

$ nice -n 19 top

Augmenter la priorité se fait avec le root. Voici par exemple le lancement du serveur memcache avec la priorité maximale:

# nice -n -20 memcached

Gérer les priorités

Augmenter la priorité d'un service permet d'en augmenter légèrement l'efficacité. Néanmoins, cela peut introduire des délais pour les autres services. Les priorités doivent donc être gérées avec soin lorsqu'elles sont modifiées.

Page de manuel

La page de manuel de nice décrit la commande et ses options. Il n'y a pas d'options utile qui n'ait été vu dans cette page d'introduction.