Legen Sie die Priorität eines Prozesses namentlich automatisch, in Vista fest
Der andere Tag spielte ich herum mit Bild-Akte Durchführung Wahlen und Sysinternals' Prozeßmonitor, in Vista. Ich sah eine interessante Frage stattzufinden. Mit notepad.exe als Beispiel, sah ich eine Frage für einen Schlüssel, der „PerfOptions“ in genannt wurde [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Bild-Akte Durchführung Wahlen \ notepad.exe] als ich Notizblock laufen ließ. Das Resultat war NAMENSgefunden NICHT, also entschied ich, den zu korrigieren. Das Addieren eines Schlüssels, der „PerfOptions“ genannt wurde, lief ich Notizblock wieder nach. Im Prozeßmonitor sah ich Fragen für vier Werte:
- IoPriority
- PagePriority
- CpuPriorityClass
- WorkingSetLimitInKB
Wegen der neuen Erforschungen mit Prozeßpriorities*, ergriff CpuPriorityClass mich sofort. Betrachten SetPriorityClass Funktion, man kann die unterschiedlichen Werte für den dwPriorityClass Parameter sehen. Ich verursachte ein REG_DWORD genanntes CpuPriorityClass in PerfOptions und stellte den Wert auf 0×80 in den Hoffnungen ein, die Notizblock mit „HIGH_PRIORITY_CLASS“ ausstoßen würde. Stattdessen stieß es mit einer Priorität von NORMAL_PRIORITY_CLASS (8) aus - die Einstellung hatte keine Auswirkung gebildet. Dann stellte ich den Wert bis 8 ein und stieß Notizblock aus. Notizblock stieß mit einer Priorität von 8 aus. Ich änderte den Wert bis 4, und der hatte keine Auswirkung. Ich änderte den Wert bis 0 - keine Auswirkung. Ich versuchte 10 - keine Auswirkung. Ich könnte keinen Riegel zu irgendwelchen anderen Auflistungen der Prozeßprioritäten innen sehen, die ich ungefähr wußte, also entschied ich, den Versuch und Störung zu versuchen und fuhr von 0, mit den folgenden Resultaten ab:
| CpuPriorityClass Wert | Priorität des Notizblockes | Priorität Kategorie |
| 1 | 4 | Leerlauf |
| 3 | 13 | Hoch |
| 5 | 6 | BelowNormal |
| 6 | 10 | AboveNormal |
| Noch etwas ^ | 8 | Normal |
^= lasse ich z.Z. a laufen PowerShell durch alle möglichen Werte zu wiederholen Index, (es gibt nur über 2^32…) so kann es eine Weile vor dem CpuPriorityClass Wert für REALTIME_PRIORITY_CLASS sein, wenn es besteht, aufgedeckt Sie seien. Es kann andere Werte auch geben, die verwendet werden können, um eine Priorität Kategorie zu spezifizieren, die freilegt wird. Ich aktualisiere oder gebe ein neues Thema bekannt, wenn ich aufdecke neues alles…
Der PowerShell Index (lachen Sie nicht, es ist mein erster erheblicher Versuch bei einem):
$cpc=0set-itemproperty „hklm: softwaremicrosoftwindows Durchführung Akte ntcurrentversionimage optionsnotepad.exeperfoptions“ cpupriorityclass $cpcdo { $pp = [diagnostics.process]:: beginnen Sie (“ notepad.exe“, „“) $ppc = $pp.PriorityClass $pp. Tötung () wenn ($ppc - Ne „Normal“) { Schreiben-Wirt $cpc $ppc } $cpc++ stellenSie „hklm ein: softwaremicrosoftwindows Durchführung Akte ntcurrentversionimage optionsnotepad.exeperfoptions“ cpupriorityclass $cpc} während ($cpc - Leutnant 4294967295)
Hoffnungsvoll finde ich Zeit, einiges zu tun grabend in die anderen Werte in PerfOptions - in IoPriority, in PagePriority und in WorkingSetLimitInKB. IoPriority und PagePriority Ton, wie sie etwas haben können, mit zu tun Gedächtnis prioritization und IO prioritization in Vista. WorkingSetLimitInKB sounds self-explanatory, but how it’s applied or how it’s used, and other circumstances, are quite vague.
*= SetThreadPriority, Vista, and Autostart Locations, Setting the Priority of a Service Process via Script
Popularity: 3%
Written by «/\/\Ø|ö±ò\/»®©. Read more great feeds at is source WEBSITE
1 comment.
Read more articles on otherSoftware and Process Monitor and priority and sysinternals and PowerShell and vista.
- [+] Digg: Feature this article
- [+] Del.icio.us: Bookmark this article
- [+] Furl: Bookmark this article















#1. January 31st, 2008, at 8:40 AM.
does this work for other os like XP or server 2003?