Hoe je de hoogste prioriteit kunt geven aan een proces. Prioriteit verhogen in Taakbeheer van het Windows-besturingssysteem. Hoe u de prioriteit van actieve programma's kunt wijzigen

Antwoord van Nul[goeroe]
Eerst wordt één commando van het ene proces uitgevoerd, dan nog een, dan het tweede commando van het eerste proces, enzovoort. De prioriteit van een proces geeft aan hoe vaak de processor er toegang toe heeft, dat wil zeggen: hoe hoger de prioriteit, hoe hoger de snelheid van het programma, maar dit vertraagt ​​het werk van andere processen.


Antwoord van Verlichting[actief]
Onmiddellijk na de contextwisseling start de kernel het procesplanningsalgoritme, waarbij voor uitvoering het proces met de hoogste prioriteit wordt geselecteerd uit de processen die zich in de status "reserve" en "klaar om uit te voeren, geladen in het geheugen" bevinden. Het heeft geen zin om processen te overwegen die niet in het geheugen zijn geladen, omdat het proces niet kan worden uitgevoerd als het niet wordt geladen. Als verschillende processen de hoogste prioriteit hebben, selecteert de kernel, gebruikmakend van het principe van een cirkelvormige lijst (carrousel), daaruit het proces dat langer in de staat "klaar om uit te voeren" is dan de andere. Over het algemeen heeft welk programma u ook gebruikt prioriteit, maar daarnaast zijn er ook andere processen die eraan moeten deelnemen, vandaar de prioriteit. . realtime betekent elke seconde.

laten we praten over Windows-procesprioriteiten. In de meeste gevallen is het niet nodig om te “spelen” met het stellen van prioriteiten, maar soms kan een competente systeembeheerder het systeem helpen de processortijd correcter te verdelen tussen lopende taken. Er is niet één recept, maar door “selectie en zoeken” is het heel goed mogelijk. Waar zou dit nodig kunnen zijn? In de 1C-SQL-combinatie kunt u bijvoorbeeld meer processortijd geven aan 1C en SQL, als de meest resource-kritische processen.

Over het algemeen kunt u de prioriteit van een lopend proces bekijken en wijzigen via Taakbeheer

ramenNT/2000/7 /2008

Op Windows 2012 het werd een beetje dieper "begraven".

Zoals uit de bovenstaande voorbeelden blijkt, zijn er slechts 6 prioriteiten voor u beschikbaar (zoals later blijkt, zijn dit de prioriteiten). prioriteit klassen). Genoeg? Microsoft denkt van wel. Maar laten we de "legendarische" zin van Bill Geist onthouden, die zei dat "640 KB RAM genoeg zal zijn voor iedereen." Maar de tijd heeft geleerd dat dit verre van het geval is. :)

Laten we nu eens kijken hoe het werkelijk is.

Er zijn eigenlijk 32 prioriteitsniveaus in Windows, van 0 tot 31.

Ze zijn als volgt gegroepeerd:

  • 31 — 16 realtime niveaus;
  • 15 — 1 dynamische niveaus;
  • 0 - systeemniveau gereserveerd voor de draad van nul pagina's.

Wanneer een proces wordt gemaakt, krijgt het een van de zes toegewezen prioriteit klassen:

  1. Realtimeklasse (waarde 24),
  2. Hoge klasse (waarde 13),
  3. Boven normale klasse (waarde 10),
  4. Normale klasse (waarde 8),
  5. Beneden normale klasse (waarde 6),
  6. of Inactieve klasse (waarde 4).

U kunt de procesprioriteit bekijken, zoals hierboven beschreven, met behulp van Taakbeheer.

Opmerking: Prioriteiten boven normaal en beneden normaal zijn geïntroduceerd sinds Windows 2000.

Prioriteit van elke thread ( basisdraadprioriteit) bestaat uit de prioriteit van het proces en relatieve prioriteit de stroom zelf. Er zijn zeven relatieve threadprioriteiten:

  1. Normaal: hetzelfde als het proces;
  2. Boven normaal: +1 voor procesprioriteit;
  3. Beneden normaal: -1;
  4. Hoogste: +2;
  5. Laagste: -2;
  6. Tijdkritisch: stelt de basisthreadprioriteit voor de Realtime-klasse in op 31, voor andere klassen op 15.
  7. Inactief: stelt de basisthreadprioriteit voor de Realtime-klasse in op 16, voor andere klassen op 1.

De volgende tabel toont de proces-, relatieve en basisthreadprioriteiten.

Onderwerpprioriteit Proces klasse Proces klasse
Inactieve klas Beneden de normale klasse Normale klasse Boven normale klasse Hoge klasse Realtime les
1 InactiefInactiefInactiefInactiefInactief
2 Laagste
3 Onderstaand...
4 Inactieve klas NormaalLaagste
5 Boven...Onderstaand...
6 Beneden de normale klasse HoogsteNormaalLaagste
7 Boven...Onderstaand...
8 Normale klasse HoogsteNormaalLaagste
9 Boven...Onderstaand...
10 Boven normale klasse HoogsteNormaal
11 Boven...Laagste
12 HoogsteOnderstaand...
13 Hoge klasse Normaal
14 Boven...
15 Hoogste
15 TijdkritischTijdkritischTijdkritischTijdkritischTijdkritisch
16 Inactief
17
18
19
20
21
22 Laagste
23 Onderstaand...
24 Realtime les Normaal
25 Boven...
26 Hoogste
27
28
29
30
31 Tijdkritisch

Nu we dit allemaal weten, wat kunnen we eraan doen? Begin bijvoorbeeld met gebruiken.

Hoe kun je anders een proces met een “niet-standaard” prioriteit uitvoeren of wijzigen?

Methode 1. Start een taak/proces en wijzig de prioriteit via Taakbeheer.

Nadelen van de methode:

  • Er zijn slechts 6 prioriteiten beschikbaar
  • Het wisselen van prioriteiten gebeurt met de muis en is niet geautomatiseerd.

Methode 2. U kunt het START-commando gebruiken met de juiste toetsen

De beschikbare prioriteitsopties zijn als volgt (ik laat met opzet de opdrachtregelopties voor de opdracht weg BEGIN niet gerelateerd aan het beschreven proces van werken met prioriteiten):

C:\>start /?
Start een apart venster om een ​​specifiek programma of commando uit te voeren.
BEGIN ["titel"]


LAAG Start de aanvraag in de IDLE-prioriteitsklasse.
NORMAAL Start de toepassing in de prioriteitsklasse NORMAL.
HOOG Start de aanvraag in de klasse HOGE prioriteit.
ECHTE TIJD Start de applicatie in de REALTIME prioriteitsklasse.
BOVENGEMIDDELD Start de toepassing in de BOVENNORMALE prioriteitsklasse.
ONDERNORMAAL Start de toepassing in de prioriteitsklasse BELOWNORMAL.

Zoals u kunt zien, maakt het START-commando het mogelijk om een ​​proces te starten met dezelfde 6 prioriteiten die beschikbaar zijn via Taakbeheer

Nadeel van de methode:

  • Er zijn slechts 6 prioriteiten beschikbaar

Methode 3: Het hulpprogramma wmic.exe gebruiken

Zoals hierboven weergegeven, zijn Taakbeheer en het START-commando behoorlijk onhandig voor het toewijzen van prioriteiten. Laten we eens kijken hoe we dit flexibeler kunnen gebruiken. We zullen het hulpprogramma gebruiken wmic.exe.

Opdrachtregel:

wmic-proces waarbij naam = "AppName" CALL setpriority ProcessIDLevel

wmic-proces waarbij naam = "calc.exe" CALL setpriority 32768

wmic-proces waarbij naam = "calc.exe" CALL setpriority "boven normaal"

Prioriteiten (vooraf gedefinieerd):

  • inactief: 64
  • onder normaal: 16384
  • normaal: 32
  • boven normaal: 32768
  • hoge prioriteit: 128
  • realtime: 256

Toevluchtsoord. Wat te doen als er meerdere processen met dezelfde naam zijn? De prioriteit van een proces kan worden gewijzigd via de procesnaam of via de PID (Process ID) van het proces.

Hier is een kort voorbeeld van het uitvoeren van wmic.exe om de benodigde informatie te verkrijgen

Wij gebruiken het commando:

Opmerking: Ik zal geen voorbeeld geven van het uitvoeren van dit commando. De lijst met processen is te groot. U kunt dit zelf doen, als u dat wenst.

U krijgt een lijst met processen die op uw lokale computer worden uitgevoerd. Voer nu het commando uit:

wmic proceslijst kort | zoek "cmd.exe"

Resultaat:

Ik heb speciaal verschillende exemplaren van cmd.exe gelanceerd om de illustratie completer te maken.

Nu is de lijst met processen alleen beperkt tot die processen waarvan de uitvoerbare modulenaam de string “cmd.exe” bevat. Let op de PID van het proces(sen).

Laten we nu proberen de processen waarin we geïnteresseerd zijn te selecteren door WMI rechtstreeks te gebruiken en zonder toevlucht te nemen tot standaard opdrachtregelprogramma's. Om dit te doen, schrijft u eenvoudig:

wmic-proces waarbij de beschrijving = "cmd.exe" kort is

Resultaat:

Vergelijk uw resultaten. Onthoud de PID van het CMD.EXE-proces.

Commandoregel om wmic.exe uit te voeren

wmic-proces waarbij processid = "XXXX" CALL setpriority ProcessIDLevel

Welnu, nu kunnen we de prioriteit van een specifiek proces wijzigen (bijvoorbeeld met PID=8476):

wmic-proces waarbij processid = "8476" CALL setpriority 32768

wmic-proces waarbij processid = "8476" CALL setpriority "boven normaal"

Instructies

Druk op de toetsencombinatie “Ctrl+Alt+Delete”. Er verschijnt een lijst met acties die kunnen worden uitgevoerd op het scherm.

Ga in het geopende taakbeheervenster naar het tabblad "Toepassingen".

Selecteer het programma waarvan u de prioriteit wilt wijzigen. Klik er met de rechtermuisknop op en klik in het vervolgkeuzemenu op "Ga naar processen". Alle programma's die op een computer draaien, hebben hun eigen processen, en voor hen worden prioriteiten gesteld.

Stel in het vervolgkeuzemenu de prioriteit in op gemiddeld, hoog, laag of anders.

Behulpzaam advies

U kunt meer informatie over het lopende proces bekijken in Taakbeheer. Om dit te doen, klikt u er met de rechtermuisknop op en selecteert u de opdracht "Eigenschappen". Het dialoogvenster dat verschijnt, geeft details over het proces weer, inclusief de plaatsing en grootte ervan. Klik op het tabblad Details om gedetailleerde informatie over het proces te bekijken.

Taakbeheer kan worden gestart door met de rechtermuisknop op de taakbalk te klikken en 'Taakbeheer' te selecteren in het vervolgkeuzemenu.

Bronnen:

  • hoe u uw prioriteiten kunt veranderen

Procesplanning in UNIX is gebaseerd op prioriteit. Normaal gesproken heeft elk proces twee prioriteitsattributen. Er zijn 32 prioriteitsniveaus in Windows. Op uw computer kunt u het werk van programma's in het besturingssysteem versnellen. Om dit te doen, hoeft u alleen maar de prioriteit van het proces te verhogen.

Instructies

U moet naar "Taakbeheer" gaan. Om dit te doen, klikt u met de rechtermuisknop op het gedeelte "Taakbalk". Selecteer "Taakbeheer" in het contextmenu. Ga naar het tabblad “Processen”. Daar ziet u een lijst met alle actieve processen. Zoek degene die u zoekt en klik er met de rechtermuisknop op. Selecteer vervolgens de opdracht "Prioriteit". Nu kunt u de prioriteit van het proces verhogen. "Taakbeheer" is mogelijk.

U kunt de prioriteit ook verhogen met het hulpprogramma InqSoft Speedballs. Deze bewaakt alle processen. Lanceer het. Automatisch verhogen van procesprioriteit. Door naar Instellingen te gaan, kunt u de instellingen wijzigen. In het menu waar 'Prioriteit verhogen naar' staat, vinkt u het vakje 'Hoog' aan en klikt u op 'Toepassen'.

Ga in het Configuratiescherm naar het gedeelte Instellingen. Selecteer Prestaties en onderhoud. Ga naar het Systeemmenu en ga naar het tabblad Prestaties. Zoek het gedeelte Applicatieprestaties en gebruik de pijl om het gewenste procesprioriteitsniveau in te stellen.

Je kunt de prioriteit van een proces ook in Linux verhogen. Dit gebeurt via de console. Druk op het bovenste commando - de tekst verschijnt voor je. Nu kunt u verschillende acties uitvoeren. Om de prioriteit te verhogen, drukt u op de r-toets op het toetsenbord.

Als u de prioriteit van een proces in een game wilt verhogen, doet u het volgende. Neem bijvoorbeeld het spel World of Warcraft. Open via "Start" en vervolgens het programma "Kladblok". Plak de volgende tekst: @echo off cd /d "C:/Program Files/World of Warcraft"start/high wow.exe. Verander dit pad: "C:/Program Files/World of Warcraft" naar het nieuwe pad dat je zult hebben. Sla de eerder geschreven tekst op in Kladblok in .bat-indeling. Start je spel via dit bestand. U zult een toename van de prioriteit merken.

Bronnen:

  • hoe u de prioriteit kunt wijzigen

Hoe krachtig de reserve aan hulpbronnen van uw computer ook is, ze zijn nog steeds niet eindeloos. Een speciale OS-component verdeelt RAM en grafisch geheugen, prioriteit en frequentie van toegang tot de processor, cachegeheugen en enkele andere bronnen tussen alle actieve systeem- en applicatieprogramma's. Hij doet dit volgens de prioriteitentabel, die hij standaard zelf samenstelt. De gebruiker heeft de mogelijkheid om in te grijpen in de verdeling van de mate van belangrijkheid van lopende processen.

Instructies

Start Windows Taakbeheer. Dit kan op verschillende manieren worden gedaan, bijvoorbeeld door op de toetsencombinatie Ctrl + Alt + Delete te drukken. In Windows 7 verschijnt er een extra menu op het scherm waarin je “Launch Task Manager” moet selecteren, maar in eerdere versies van Windows is deze tussenstap niet aanwezig. Een andere manier om Taakbeheer te openen is door het programmastartvenster te openen door op de toetscombinatie Win + R te drukken, vervolgens de opdracht taskmgr in te voeren en op OK te klikken.

Klik met de rechtermuisknop op de regel met het gewenste proces en vouw het gedeelte "Prioriteit" uit in het contextmenu. Standaard hebben alle processen een "normale" prioriteit. Wijzig dit door een van de zes genoemde opties te selecteren. Vergeet echter niet dat in sommige gevallen het overdreven verhogen van de prioriteit van applicatieprogramma's (de items "High" en "Real Time") kan leiden tot een trage reactie van het besturingssysteem op toetsaanslagen, muisbewegingen, enz. Hetzelfde probleem kan ook optreden als de prioriteit van systeemprocessen (bijvoorbeeld een proces met de naam explorer) excessief wordt verlaagd.