Czy za pomocą Eksploratora procesów Sysinternals istnieje kolumna, za pomocą której można wskazać, na którym procesorze działa proces? Jeśli nie ma kolumny, czy jest jakiś inny sposób?
windows
cpu
process-explorer
rory.ap
źródło
źródło
Odpowiedzi:
Wniosek o wydanie w 2005 r . :
Brak odpowiedzi.
Wniosek o wydanie w 2007 r . :
Brak odpowiedzi.
Podobne omówione w 2013 r . :
Podstawowe streszczenie: Nie da się tego zrobić.
Wątki są przesyłane do rdzeni w celu przetworzenia, a nie procesów. Większość nowoczesnych procesów ma wiele wątków.
Jeśli ręcznie ustawisz powinowactwo dla procesu, wszystkie wątki dla procesu powinny przykleić się do jednego procesora. Ponieważ ustawiłeś go ręcznie, powinieneś wiedzieć, który procesor jest włączony. ;)
Ale jeśli nie określisz, wątki będą kontrolowane przez system operacyjny i leżący u ich podstaw sprzęt przetwarzający i będą przeskakiwać między procesorami z prędkością, która byłaby nie do obejrzenia i najprawdopodobniej niedokładna do czasu wyświetlenia ty.
Być może sprawdź te pytania SU, aby uzyskać więcej:
Ponadto z StackOverflow:
Teraz, jeśli napisałeś program, możesz użyć GetCurrentProcessorNumber , który raportuje bieżący procesor używany przez wątek, z którego funkcja została wywołana.
Korzystanie z tego pozwoli ci dokonać oszacowań wykorzystania procesora przez twoje wątki, ponieważ nigdy nie możesz być pewien, gdzie wątki będą od jednego cyklu do następnego (ponownie, chyba że celowo ustawisz powinowactwo).
Więcej informacji:
źródło
Można to zrobić, przechwytując ślad xperf i otwierając go za pomocą Windows Performance Analyzer (WPA.exe) z Windows Performance Toolkit, tutaj możesz dodać kolumnę CPU, aby zobaczyć, który procesor (rdzeń) jest uruchomiony:
źródło