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?
windows
cpu
process-explorer
rory.ap
quelle
quelle
Antworten:
Beantragt im Jahr 2005 :
Keine Antwort.
Beantragt in 2007 :
Keine Antwort.
Ähnliches wurde 2013 diskutiert :
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:
quelle
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:
quelle