Hoe Stel Prioriteiten Met leuke en renice op Linux

0
424

De mooie en renice opdrachten kunt u afstemmen hoe de kernel behandelt uw processen door het aanpassen van hun prioriteiten. Lees deze tutorial om te leren hoe ze te gebruiken in Linux en Unix-achtige besturingssystemen, zoals mac os-versie.

Het is Allemaal een Kwestie van het Proces

Aan de binnenkant van uw Linux-of Unix-achtige computer, zal er veel processen worden uitgevoerd nog voordat u start de toepassing die u wilt gebruiken. De meerderheid van deze processen zijn belangrijke elementen van Linux zelf of ondersteunende processen voor uw grafische desktop omgeving. Er gebeurt veel achter de schermen. Natuurlijk, er zijn alleen zo veel systeembronnen en CPU tijd om rond te gaan. De Linux kernel is de controller voor al deze processen.

Het is de kernel die heeft te bepalen welke processen krijgen de aandacht en de middelen die nu zijn, en welke moeten wachten. De kernel is voortdurend aan het jongleren processen en prioriteiten om ervoor te zorgen dat de computer zo soepel als het kan en dat alle processen te krijgen van hun aandeel. Sommige processen krijgen een voorkeursbehandeling. Ze zijn zo belangrijk voor de algemene werking van de computer dat aan hun behoeften te komen op de eerste plaats met een voorsprong van, zeg, uw browser.

De mooie Waarde

Een van de criteria gebruikt om te bepalen hoe de kernel behandelt een proces is het leuk waarde. Elk proces heeft een mooie waarde. De nice-waarde is een geheel getal in het bereik van -19 tot 20. Alle standaard processen zijn gestart met een leuke waarde van nul.

De truc hier is dat hoe hoger de mooie waarde, hoe mooier uw proces wordt aan de andere processen. In andere woorden, een mooie hoge waarde geeft de kernel dat dit een proces is blij om te wachten. Een negatief getal is het tegenovergestelde van mooi. Hoe groter de negatieve mooie waarde, hoe egoïstisch het proces is. Het is proberen om zo veel CPU-tijd als het kan, zonder oog voor de andere processen.

We kunnen gebruik maken van de mooie opdracht om de mooie waarde wanneer een proces wordt gestart en kunnen we gebruik maken van renice voor het aanpassen van de nice-waarde van een actief proces.

De mooie Opdracht

We kunnen gebruik maken van de mooie opdracht voor het aanpassen van de mooie waarde voor een programma als we starten. Dit stelt ons in staat om een hogere of lagere prioriteit gegeven aan het proces door de kernel, in vergelijking met de andere processen.

Stel dat een programmeur heeft een programma geschreven genaamd ackermann . Deze berekent Ackerman functies. Het is de CPU en het geheugen intensief. De programmeur kan het programma starten met het volgende commando:

./ackermann

We kunnen gebruik maken van het top commando uit om het lopende programma.

top

We kunnen de details van de ackermann-programma in de top. De nice-waarde is de figuur in de “NI kolom”. Het op nul instellen zoals we gewend zijn.

Laten we het opnieuw en deze keer minder veeleisend zijn. We zullen een leuk waarde van 15, – voor de ackermann-programma als volgt. Type nice, een ruimte, -15, een andere ruimte, en vervolgens de naam van het programma dat u wilt starten. In ons voorbeeld, onze fictieve programmeur gebruikt ./ackermann.

mooie -15 ./ackermann

Let op, de “-15” is niet negatief, vijftien. Het is positief vijftien. De “-” is nodig om te vertellen wat we nu passeren in een parameter. Om aan te geven een negatief getal moet u het type twee “-” tekens.

Als we nu beginnen, nogmaals een top bereikt, zien we de verandering in het gedrag van ackermann.

top

Met een mooie waarde van 15, ackermann is niet het consumeren van de meeste CPU-tijd. GNOME en Rhythmbox zijn zowel met behulp van meer. We hebben beteugeld ackermann in een bit.

Laten we nu het omgekeerde doen en geven ackermann een negatieve mooie waarde. Let op het gebruik van twee “-” tekens. Een verzoek om meer egoïstisch en minder leuk, moet u gebruik maken van sudo. Iedereen kan het maken van hun toepassing meer leuk, maar alleen superusers kan een meer egoïstisch.

sudo nice –10 ./ackermann

Let ‘ s run top en te zien wat voor verschil dat heeft gemaakt.

top

Deze keer ackermann heeft een mooie waarde van -10. Het is terug op de bovenste regel van het consumeren van meer CPU tijd dan voorheen.

De renice Opdracht

De renice opdracht laat ons aanpassen van de nice-waarde van een actief proces. We hoeven niet te stoppen en starten met nice. Kunnen We stellen een nieuwe waarde on-the-fly.

De renice opdracht duurt het process ID of PID van het proces als een command line parameter. We kunnen zowel extract van de proces-ID van de “PID” kolom in de top , of we kunnen gebruik maken van ps en grep om het te vinden voor ons, als volgt. Natuurlijk, je typt de naam van de gebruiker in plaats van dave en de naam van het proces dat u geïnteresseerd bent in plaats van ackermann.

ps -eu-dave | grep ackermann

Nu hebben we de PID we kunnen deze met renice. We gaan instellen ackermann terug naar een mooiere gedrag met een mooie waarde van vijf. Wijzigen van de mooie waarde voor een proces dat wordt uitgevoerd, moet u gebruik maken van sudo. Let op dat er geen “-” op de 5 parameter. Heeft u niet nodig voor positieve getallen en u hoeft slechts één, niet twee, voor negatieve getallen.

sudo renice -n 5 2339

We krijgen de bevestiging dat renice is veranderd de mooie waarde. Het toont ons de oude waarde en de nieuwe waarde.

De kernel gewoonlijk doet een groot werk van het hanteren van prioriteiten en het uitdelen van de CPU-tijd en systeembronnen. Maar als je een lange, CPU-intensieve taak uit te voeren en u niet de zorg wanneer zij tot de conclusie, het zal maken uw computer weer een stuk soepeler als u een hogere mooie waarde voor die taak. Dat zal wel leuker voor iedereen.