Gibt es eine Einstellung, die geändert werden kann (oder einen Registrierungsschlüssel, der hinzugefügt werden kann), um die Prozessoraffinität eines Dienstes festzulegen? Ich möchte die Affinität festlegen und diese Einstellung über Neustarts hinweg beibehalten (daher funktioniert das manuelle Ändern der Affinität nach dem Starten des Dienstes für mich nicht).
7
Antworten:
Einige Dienste, wie z. B. IIS, sind mit der Fähigkeit ausgestattet, eine Bitmaske aus der Registrierung zu lesen und diese zu verwenden, um beim Start ihre eigene CPU-Affinität festzulegen. Dies ist jedoch nicht eine Funktion jedes Dienstes.
Ich würde wahrscheinlich eine Aufgabe erstellen, die für ein Ereignis ausgelöst wird, und das Ereignis wäre "MyService-Dienst wird gestartet" ... im Systemereignisprotokoll. Die Aufgabe würde dann diesen Powershell-Code ausführen:
EDIT: Hahah, es tut mir leid, das ist viel komplizierter als es sein muss. Powershell hat diese Fähigkeit bereits eingebaut, indem es einfach Folgendes tut:
Eine Bitmaske bedeutet, dass ein Dezimalwert 1 "nur die erste CPU" bedeutet, ein Dezimalwert von 2 (binär 10) "nur die zweite CPU" bedeutet, ein Dezimalwert von 3 (binär 11) "CPUs 1 und 2" bedeutet. und so weiter und so fort.
quelle