De Linux Kernel zorgt ervoor dat elk proces een tijdje gebruik kan maken van de processor. Om een proces meer processortijd te geven, moet je de prioriteit van het proces aanpassen.
Wanneer gebruik je dit? Wel, bijna nooit, maar als je een niet zo snelle computer hebt en je wilt iets compileren, terwijl je deelneemt aan een video conferentie, dan wil je waarschijnlijk dat de video conferentie software meer processortijd krijgt dan het compileerprogramma.
dany@linux-bxth:~> pstree -p
...
├─kdeinit4(1687)─┬─bluefish(11788)─┬─{bluefish}(11809)
│ │ ├─{bluefish}(11810)
│ │ ├─{bluefish}(11831)
│ │ └─{bluefish}(12032)
│ ├─firefox(10407)───firefox-bin(10412)─┬─kmozillahelper(10464)
│ │ ├─plugin-containe(11467)─┬─{plugin-containe}(11468)
│ │ │ ├─{plugin-containe}(11708)
│ │ │ ├─{plugin-containe}(11709)
│ │ │ ├─{plugin-containe}(11710)
│ │ │ ├─{plugin-containe}(11711)
│ │ │ ├─{plugin-containe}(11712)
│ │ │ ├─{plugin-containe}(11713)
│ │ │ ├─{plugin-containe}(11714)
│ │ │ ├─{plugin-containe}(11715)
│ │ │ └─{plugin-containe}(11718)
│ │ ├─{firefox-bin}(10415)
│ │ ├─{firefox-bin}(10416)
│ │ ├─{firefox-bin}(10417)
│ │ ├─{firefox-bin}(10418)
│ │ ├─{firefox-bin}(10421)
│ │ ├─{firefox-bin}(10422)
│ │ ├─{firefox-bin}(10424)
│ │ ├─{firefox-bin}(10457)
│ │ ├─{firefox-bin}(10458)
│ │ ├─{firefox-bin}(10461)
│ │ ├─{firefox-bin}(10462)
│ │ ├─{firefox-bin}(10463)
│ │ ├─{firefox-bin}(10465)
│ │ ├─{firefox-bin}(10466)
│ │ ├─{firefox-bin}(10467)
│ │ ├─{firefox-bin}(10470)
│ │ ├─{firefox-bin}(10474)
│ │ ├─{firefox-bin}(10475)
│ │ ├─{firefox-bin}(10525)
│ │ ├─{firefox-bin}(11466)
│ │ ├─{firefox-bin}(11997)
│ │ ├─{firefox-bin}(12011)
│ │ └─{firefox-bin}(12013)
...
Na het opzoeken van het PID (in het voorbeeld is de PID van het hoofdproces van firefox 10407) kun je met renice de prioriteit van het proces aanpassen.
Het bereik loopt van -20 tot 20, bij -20 werkt het proces op zijn maximale snelheid.
Met de opdracht
sudo renice -8 -p 10407
krijgt het proces met het PID 10407 de prioriteit -8, waardoor de processor meer bezig is met dit proces en het proces dus sneller werkt.
Enkel de systeembeheerder root kan een proces versnellen, gewone gebruikers kunnen hun eigen processen vertragen, maar niet versnellen. Gewone gebruikers kunnen hun eigen vertraagde processen wel afsluiten en opnieuw opstarten waardoor ze terug de standaard prioriteit 0 krijgen.
Lees de man-pagina van renice en hou rekening met het feit dat het aanpassen van een ouder proces (parent process) invloed heeft op alle nakomelingen (die door het ouderproces werden opgestart). In het voorbeeld zal dus niet alleen het firefox proces 10407 versnellen, maar ook alle opgestarte subprocessen (m.a.w. alle firefox onderdelen en vensters). Om het ouderproces te achterhalen, gebruikt je best de opdracht pstree.