La commande nice vous permet d'exécuter une commande avec une valeur nice différente de celle par défaut. L'option -n incrémente la valeur nice de l'entier donné; si vous ne fournissez pas d'entier, la commande supposera un incrément de 10. En exécutant nice sans aucune option, vous verrez la valeur nice par défaut. Vous devez disposer des droits d'utilisateur root pour exécuter une commande avec une priorité plus élevée. Une fois réduite, la priorité d'un processus ne peut pas être augmentée par les utilisateurs normaux, même s'ils sont propriétaires du processus.
Syntaxe
La syntaxe de la commande nice est :
# nice [-n {nice value increment}] [command]
Normalement, lorsqu'un processus est démarré, il obtient la valeur de priorité par défaut de 0. La commande nice est utilisée pour démarrer un processus avec une priorité différente. Sa syntaxe est la suivante :
# nice -n [NICELEVEL] [command]
Voici un exemple de définition d'une grosse tâche pour qu'elle s'exécute au niveau 7 :
# nice −7 sort VeryLargeFile > outfile
Si vous exécutez nice sans niveau, 10 est utilisé. Les processus normaux (exécutés sans nice) s'exécutent au niveau zéro, ce que vous pouvez voir en exécutant nice sans arguments :
# nice 0
Le superutilisateur peut également baisser le niveau de gentillesse, augmentant la priorité d'un processus :
# nice --10 myprogram
(Oui, c'est "tiret négatif 10".) Pour voir les bons niveaux de vos travaux, utilisez ps et regardez la colonne "NI" :
# ps -o pid,user,args,nice
La commande top peut également être utilisée pour afficher la priorité des processus. Il affiche deux colonnes, nommées NI (affichant le mappage de niveau agréable des processus) et PR (affichant le mappage de la valeur de priorité dans un noyau vers une file d'attente prioritaire plus grande).
Modifier la priorité
L'attribution d'une valeur de nice faible, c'est-à-dire une priorité plus élevée, à un processus gourmand en CPU aura un impact sur les performances des autres processus s'exécutant sur le même système Linux. Par conséquent, seul root est autorisé à donner une priorité plus élevée à un processus, par exemple, en définissant des valeurs nice négatives sur les processus en cours d'exécution.
Les utilisateurs normaux ne peuvent que réduire la priorité de leurs processus, c'est-à-dire qu'ils ne peuvent définir qu'une valeur positive supérieure à la valeur nice existante pour un processus donné.