nice (Unix)
nice est une commande disponible sur le système d'exploitation UNIX et autres systèmes compatibles tels que Linux. Cette commande pointe directement vers un point d'entrée du kernel portant le même nom, elle permet de changer le niveau de priorité d'un processus déterminé. La priorité la plus élevée correspond à un niveau de -20, tandis que la plus basse correspond à +19. Le niveau de priorité par défaut d'un processus est celui de son processus parent, et vaut généralement zéro.
Nice est utile dès que plusieurs processus requièrent plus de puissance CPU que celui-ci peut fournir. Dans ce cas, le processus ayant la priorité la plus élevée bénéficiera de plus de puissance de la part du processeur. En revanche, si le processeur n'est pas utilisé à 100 %, alors un processus de faible priorité pourra quand même bénéficier d'une part de puissance pouvant aller jusqu'à 99 %. Seul un super-utilisateur (root) peut assigner des niveaux de priorité élevés.
Le mécanisme de répartition de la charge du processeur en fonction de la priorité des processus est effectué par l'ordonnanceur de taches (task scheduler). L'algorithme mis en œuvre peut varier d'une implémentation à une autre, les pourcentages de processeur alloués entre deux processus se partageant 100 % du temps machine peuvent donc être très variables entre diverses versions de Unix, Linux ou autres BSD.
La commande renice permet quant à elle de modifier le niveau de priorité d'un processus en cours d'exécution.
Linux dispose également d'une commande ionice qui agit sur les niveaux de priorité des accès aux entrées-sorties.
Source
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « nice (Unix) » (voir la liste des auteurs).