RENICE

Voer programma uit met aangepaste prioriteiten.

We noemen Linux een Multi-tasking besturingssysteem, maar dit is niet helemaal correct 1; Linux gebruikt een zogenaamde Kernel Scheduler die bepaald welk proces het meest geschikt is om als volgende uitgevoerd te worden. De kernel wijst dus processor-tijd toe aan processen die wachten op CPU tijd om uitgevoerd te worden. Processen die niet klaar zijn, zoals bijvoorbeeld een programma dat wacht tot je op de OK knop drukt zullen ook niet in de wachtrij worden opgenomen.

Hoe beslist de Kernel welk proces de meeste prioriteit heeft? 2 Hiervoor gebruikt de Linux Kernel 2 systemen.
  1. de Nice of niceness van een proces.
  2. de Real-time priority van een proces.

In dit artikel bespreken we enkel nice systeem.

Hier verschijnen nice en renice op het toneel. Met nice start je een programma op met een bepaalde Niceness en met renice kun je deze aanpassen.

De niceness kan ingesteld worden tussen -20 (de hoogste prioriteit) en 19 (de laagste prioriteit), waarbij -20 het beste is voor het proces maar het minst goede voor de andere processen. Je kunt dus zeggen dat -20 niet nice (vriendelijk) en 19 heel vriendelijk.
Waarschuwing:
  • Als je een programma opstart met een lagere prioriteit zal het langer duren voor dit programma zijn werk voltooit (het programma zal dus trager worden).
Wil je kijken welke niceness een bepaald proces heeft dan kun je dat bekijken met ps zoals $ $ ps -eo pid,ppid,ni,comm
Figuur: $ ps -eo pid,ppid,ni,comm
$ ps -eo pid,ppid,ni,comm

De standaard nice waarde is 03 of renice, en kan oa. weergegeven worden in top en htop. of met ps zoals hierboven.

De syntaxis van renice is : renice -n xx -g | -p | -u ARGUMENT waarbij xx de niceness is, en je kiest tussen de opties -g, -p of -u (g= "Process Group ID", p="Process ID" en u="Usernames")

Zoals je ziet heeft renice meer opties dan nice

Meer informatie over wat je allemaal kan met nano is te vinden in de manpages of de infopages.

1 Multi-Core en Multi-Thread CPU's even buiten beschouwing gelaten.
2 Als er processen zijn met dezelfde prioriteit dan worden ze simpelweg in volgorde uitgevoerd.
3 als je het programma opstart zonder nice