Uzyskiwanie statystyki procesora dla wątku

10

Jak uzyskać bieżące użycie procesora dla każdego wątku w określonej aplikacji? Czy można skądś uzyskać te informacje lub użyć jakiegoś narzędzia?

dabest1
źródło

Odpowiedzi:

8

Aby uzyskać szybką odpowiedź, skorzystaj z SysInternal's Process Explorer . Kliknij dwukrotnie proces, aby otworzyć okno dialogowe szczegółów. karta wątków daje sortowalną listę wszystkich wątków, w tym delta przełącznika kontekstu i czas procesora.

Richard
źródło
Wcześniej korzystałem z Process Explorer, ale nie widziałem tam kolumny procesora, ponieważ była zbyt wąska i widoczna była tylko strzałka sortująca jako nagłówek kolumny.
dabest1
7

Perfmon (Monitor wydajności) powinien podać ci potrzebne informacje.

Następujące zakłada Windows 2000, XP lub Server 2003. Nie sprawdziłem, ale myślę, że monitor wydajności jest nieco inny w Vista, Windows 7 i Server 2008.

Aby uruchomić Monitor wydajności, wybierz Start> Panel sterowania> Narzędzia administracyjne> Wydajność

Aby dodać wykres do każdego wątku aplikacji, kliknij wykres prawym przyciskiem myszy i wybierz polecenie Właściwości. Możesz usunąć dowolne z domyślnych ustawień, aby uzyskać czystszy wykres.

Kliknij przycisk „Dodaj ...” i upewnij się, że opcja „Użyj liczników komputerów lokalnych” jest zaznaczona (chyba że chcesz monitorować inny serwer, w takim przypadku kontynuuj i wybierz tę opcję).

W obszarze „Obiekt wydajności” wybierz „Wątek”

Wybierz licznik „% Processor Time”, a następnie wybierz wszystkie wątki, które chcesz monitorować (kontroluj + kliknij, aby zaznaczyć wiele). Kliknij „Dodaj”, a następnie „Zamknij”.

Po powrocie do właściwości możesz dostosować wykres do własnych potrzeb, przypisując kolory, wzory itp. Kliknij OK.

W takim przypadku może być konieczne uruchomienie wykresu, a następnie kliknięcie czerwonego znaku STOP, aby nie był włączony, spowoduje uruchomienie wykresu.

Mark Henderson
źródło
Daje +1, z wyjątkiem komentarza WMI na początku, ponieważ nie ma on wiele wspólnego z resztą postu. To, co zostało wspomniane, działa bardzo podobnie dla Visty i 2008 roku. Na koniec możesz także uruchomić Perfmon, uruchamiając perfmon.msc
DougN,
Przepraszam, pomieszałem swoje warunki. Chciałem powiedzieć perfmon. Naprawię to teraz.
Mark Henderson
1

Monitor procesu (sysinternals)

Myślę, że ProcessMonitor firmy Sysinternals (ostatnio zakupiony przez Microsoft) prawdopodobnie będzie działał.

Process Monitor to zaawansowane narzędzie do monitorowania systemu Windows, które pokazuje system plików w czasie rzeczywistym, rejestr oraz aktywność procesu / wątku. Łączy w sobie cechy dwóch starszych narzędzi Sysinternals, Filemon i Regmon, i dodaje obszerną listę ulepszeń, w tym bogate i nieniszczące filtrowanie, kompleksowe właściwości zdarzeń, takie jak identyfikatory sesji i nazwy użytkowników, wiarygodne informacje o procesie, pełne stosy wątków ze zintegrowaną obsługą symboli dla każdej operacji, jednoczesne logowanie do pliku i wiele więcej. Jego wyjątkowo potężne funkcje sprawią, że Process Monitor stanie się podstawowym narzędziem w rozwiązywaniu problemów z systemem i narzędziach do wyszukiwania złośliwego oprogramowania.

Tutaj jest link:

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

KPWINC
źródło
Dzięki za Twoją sugestię. Twoja odpowiedź jest poprawna, ale to, co pomogło mi znaleźć użycie procesora na wątek w Process Explorer, to odpowiedź, którą wybrałem przez Richarda.
dabest1
0

możesz użyć wbudowanego monitora wydajności systemu Windows, po prostu wpisz perfmon na początku, uruchom. raz na perfmon, kliknij znak plus, wybierz proces, wybierz proces, a następnie wybierz to, co chcesz zobaczyć. powrót do podstaw!

Nasa
źródło