Ich habe ein Quad-Core-System mit Drittanbieter-Anwendung, die gelegentlich mehrere Prozesse (immer die gleiche ausführbare aber mehrere Instanzen davon) spinnt und dauert 100% der CPU-Zeit. Ich habe auch ein paar Web-Dienste auf der gleichen Box (IIS und Drittanbieter).Wie wird die Prozessoraffinität für eine ausführbare Datei in Windows XP festgelegt?
Das Problem mit allen Kernen, die beschäftigt sind, ist, dass es diesen Drittanbieter-Webserver zu Timeout macht (IIS funktioniert gut, nur langsamer als üblich). Ich habe keine Kontrolle über den Webserver von Drittanbietern, es ist ein Teil des größeren Produkts und muss betriebsbereit sein. Also habe ich versucht, mit Prozessor-Affinität (über SysInternals Process Explorer) zu spielen und diese lästigen Prozesse auf 3 von 4 Cores zu beschränken und den vierten Core dem Webserver der dritten Partei zu widmen, und es scheint ziemlich gut zu funktionieren.
Das Problem ist, dass es Affinität nur auf den laufenden Prozess und nicht auf ausführbare Ebene setzt, also nachdem diese Prozesse beenden und später als neue Prozesse respawnen ist es wieder alle gleich - sie nehmen alle 4 Kerne. Also, ich habe über dieses ImageCfg.exe-Dienstprogramm von Microsoft gegooglet, aber ich kann es nicht auf der Microsoft-Website zum Download finden und ich sehe, dass einige Leute es ausprobiert haben und jetzt beschweren, dass es nicht wirklich funktioniert.
Gibt es eine Möglichkeit, die Affinität zur ausführbaren Datei beizubehalten?
Ihr erster Anruf sollte der Herausgeber der betreffenden Software sein. Bitten Sie sie, den Thread-Verbrauch zu begrenzen. – NotMe
Allerdings ist das Problem immer noch interessant, weil die Software diese Funktion möglicherweise nicht hat. Und es gibt sicherlich andere Software, die nicht ... es wäre ärgerlich, den Verkäufer jedes Mal anrufen zu müssen. – ine