Gibt es in Sysinternals Process Explorer eine Spalte, in der angegeben werden kann, auf welcher CPU ein Prozess ausgeführt wird? Wenn keine Spalte, gibt es einen anderen Weg?
Gibt es in Sysinternals Process Explorer eine Spalte, in der angegeben werden kann, auf welcher CPU ein Prozess ausgeführt wird? Wenn keine Spalte, gibt es einen anderen Weg?
Antworten:
Beantragt im Jahr 2005 :
Ich bin sehr beeindruckt von den in Process Explorer integrierten Funktionen, hätte aber gerne die Option, jede Prozess-CPU-Affinität im Hauptfenster als Spaltenumschaltung anzuzeigen.
Keine Antwort.
Beantragt in 2007 :
Vielen Dank für die hervorragenden Hilfsprogramme. Ich möchte dem Explorer eine Spaltenoption hinzufügen, um die CPU-Affinität anzuzeigen. Das ist es.
Keine Antwort.
Ähnliches wurde 2013 diskutiert :
Es wäre wirklich schön, wenn es eine neue Spalte mit der Bezeichnung "Core Usage" für die Prozessleistungsansicht geben würde, die die Summe der Nutzung über dem Kern anzeigt, auf dem der Prozess ausgeführt wird.
Grundlegende Zusammenfassung: Es kann nicht getan werden.
Threads werden zur Verarbeitung an Kerne gesendet, nicht an Prozesse. Die meisten modernen Prozesse haben mehrere Threads.
Wenn Sie die Affinität für einen Prozess manuell festlegen , sollten sich alle Threads für den Prozess auf einen einzelnen Prozessor beschränken. Da Sie es manuell einstellen, sollten Sie wissen, auf welcher CPU es sich befindet. ;)
Wenn Sie dies jedoch nicht angeben, werden die Threads vom Betriebssystem und der zugrunde liegenden Verarbeitungshardware gesteuert und springen mit einer Geschwindigkeit zwischen den Prozessoren, die nicht überwacht werden kann und die zum Zeitpunkt der Anzeige sehr wahrscheinlich ungenau ist Sie.
Vielleicht sehen Sie sich diese SU-Frage an, um mehr zu erfahren:
Auch von StackOverflow:
Wenn Sie das Programm geschrieben haben, können Sie die GetCurrentProcessorNumber verwenden , die den aktuellen Prozessor angibt , der von dem Thread verwendet wird, von dem aus die Funktion aufgerufen wurde.
Auf diese Weise können Sie Schätzungen zur Prozessorauslastung Ihrer Threads vornehmen , da Sie nie sicher sein können, wo sich die Threads in einem Zyklus zum nächsten befinden (es sei denn, Sie legen die Affinität absichtlich fest).
Mehr Info:
Dies kann erreicht werden, indem ein Xperf-Trace erfasst und mit Windows Performance Analyzer (WPA.exe) aus dem Windows Performance Toolkit geöffnet wird. Hier können Sie eine Spalten-CPU hinzufügen, um zu sehen, welche CPU (Core) der Prozess ausführt: