Jak mogę monitorować użycie procesora przez jeden proces w danym okresie czasu?

8

Chcę wiedzieć, jakie jest średnie użycie procesora przez konkretny plik wykonywalny na moim komputerze w ciągu jednego dnia.

Mógłbym napisać aplikację C #, aby to zrobić, ale pomyślałem, że jest to dokładnie taka aplikacja, o której Superuser wiedziałby, gdyby istniała!

Używam 64-bitowego systemu Windows 7, na wszelki wypadek!

Dzięki!

Josh Comley
źródło

Odpowiedzi:

9

Przejdź do Monitora wydajności. Kliknij wykres prawym przyciskiem myszy i wybierz „Dodaj liczniki”.

Na liście „Dostępne liczniki” otwórz sekcję „Przetwarzanie”, klikając znajdującą się obok nią strzałkę w dół. Wybierz „% Processor Time” (i dowolny inny licznik, jaki chcesz).

Na liście „Instancje wybranego obiektu” wybierz proces, który chcesz śledzić. Następnie kliknij „Dodaj >>”. Kliknij OK, gdy masz już to, czego potrzebujesz.

To daje wykres wykorzystania procesora dla wybranej aplikacji.

Snark
źródło
4

Inną aplikacją, z której powinien korzystać każdy superużytkownik, jest Process Explorer .

Zobacz na blogu technicznym Marka Russinovicha artykuł The Case of the System Process Spikes CPU , w którym wyśledził skok CPU spowodowany przez jego sterownik sieciowy.

harrymc
źródło
Korzystam z Process Explorer, ale nie jestem pewien, jak rejestrować użycie procesora!
Josh Comley
@joshcomley: przeczytaj powyższy artykuł. W skrócie: Wystarczy dwukrotnie kliknąć proces i przejrzeć dostępne karty.
harrymc
0

następujące polecenie pobiera średnie użycie procesora i pamięci co 50 sekund dla określonego procesu (pid)

pidstat 50 -ru -p <pid>

wyjście dla mojego przypadku (uruchamia dwa wiersze dla użycia procesora, drugie dwa wiersze dla pamięci):

02:17:47 PM       PID    %usr %system  %guest    %CPU   CPU  Command
02:18:27 PM     24563    0.38    0.07    0.00    0.45     3  java

02:17:47 PM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
02:18:27 PM     24563     11.68      0.00 13047972 2123268   6.52  java
Celik
źródło