Podejrzewam, że jedna z moich aplikacji zjada więcej cykli procesora, niż chcę. Problem w tym, że dzieje się to w seriach, a samo spojrzenie na menedżera zadań nie pomaga mi, ponieważ pokazuje tylko natychmiastowe użycie.
Czy istnieje sposób (w systemie Windows) na śledzenie historii użycia procesora i pamięci w jakimś procesie. Np. Zacznę śledzić "firefoxa", a po mniej więcej godzinie zobaczę wykres wykorzystania procesora i pamięci w tej godzinie.
Szukam gotowego narzędzia lub programowego sposobu, aby to osiągnąć.
źródło
Process Explorer może wyświetlać całkowity czas procesora zajęty przez proces, a także wykres historii dla każdego procesu.
źródło
Korzystając z perfmon.exe, próbowałem użyć licznika „Bajty prywatne” w obszarze Liczniki „Proces” do śledzenia użycia pamięci i działa to dobrze.
źródło
może możesz tego użyć. Powinien zadziałać i zgłosić czas procesora dla określonego procesu.
źródło
Zgadzam się, perfmon.exe umożliwia dodawanie liczników (kliknij prawym przyciskiem myszy w prawym panelu) dla dowolnego procesu, który chcesz monitorować.
Obiekt wydajności: Sprawdź proces „Wybierz instancje z listy” i wybierz firefox.
źródło
WMI to Windows Management Instrumentation i jest wbudowane we wszystkie najnowsze wersje systemu Windows. Pozwala programowo śledzić takie rzeczy, jak użycie procesora, operacje wejścia / wyjścia dysku i użycie pamięci.
Perfmon.exe jest interfejsem użytkownika z graficznym interfejsem użytkownika i może monitorować proces, zapisywać informacje w dzienniku i umożliwiać analizę dziennika po fakcie. Nie jest to najbardziej elegancki program na świecie, ale spełnia swoje zadanie.
źródło
Process Lasso jest przeznaczony bardziej do automatyzacji procesów i optymalizacji klas priorytetów, a nie do tworzenia wykresów. Powiedział, że ma oferty historię poszczególnych procesów wykorzystania CPU (narysowany jako biała linia na wykresie), ale to nie nie oferują historię poszczególnych procesów wykorzystania pamięci.
OŚWIADCZENIE: Jestem autorem Process Lasso, ale tak naprawdę nie popieram go tutaj - ponieważ są lepsze rozwiązania (perfmon jest najlepsze).
Najlepszą rzeczą na świecie jest Monitor zasobów i wydajności systemu Windows Vista +. Może śledzić wykorzystanie procesora, pamięci, sieci i dysków przez procesy w czasie. Jest to świetne narzędzie do generowania informacji o systemie, które powinno zostać utworzone dawno temu. O ile się nie mylę, może śledzić wykorzystanie procesora na proces i pamięci w czasie (między innymi wymienionymi rzeczami).
źródło
Możesz również spróbować użyć skryptu C # / Perl / Java, aby uzyskać dane dotyczące wykorzystania za pomocą poleceń WMI, a poniżej przedstawiono odpowiednie kroki.
Musimy wykonać 2 zapytania WMI Select i zastosować formułę procentowego wykorzystania procesora
1. Aby pobrać całkowitą liczbę procesów logicznych
2. Aby pobrać wartości PercentProcessorTime, TimeStamp_Sys100NS (zastosowano formułę wykorzystania procesora, aby uzyskać rzeczywisty procent wykorzystania) i WorkingSetPrivate (RAM) minimum 2 razy z interwałem uśpienia wynoszącym 1 sekundę
3. Zastosuj wzór na% wykorzystania procesora
p2 wskazało PercentProcessorTime pobrane po raz drugi, a p1 wskazało PercentProcessorTime pobrane po raz pierwszy, t2 i t1 dotyczą TimeStamp_Sys100NS.
Przykładowy kod Perla do tego można znaleźć pod linkiem http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/
Ta logika dotyczy wszystkich języków programowania, które obsługują zapytania WMI
źródło
Chociaż tego nie wypróbowałem, ProcDump wydaje się lepszym rozwiązaniem.
Opis ze strony:
źródło
Hmm, widzę, że Process Explorer może to zrobić, chociaż jego wykresy nie są zbyt wygodne. Wciąż szukam alternatywnych / lepszych sposobów, aby to zrobić.
źródło
Perfmon.exe jest wbudowany w system Windows.
źródło
Możesz rzucić okiem na Process Lasso .
źródło
W systemie Windows 10 Menedżer zadań może wyświetlać skumulowane godziny pracy procesora. Po prostu przejdź do zakładki „Historia aplikacji” i „Usuń historię użytkowania”. Teraz zostaw wszystko uruchomione na godzinę lub dwie:
To NIE powoduje podziału użycia w przeglądarkach według kart. Dość często nieaktywne karty wykonują ogromną ilość pracy, a każda otwarta karta zużywa energię i spowalnia komputer.
źródło
Było wymaganie, aby uzyskać status i użycie procesora / pamięci niektórych określonych serwerów Windows. Użyłem poniższego skryptu:
To jest przykład usługi wyszukiwania systemu Windows.
źródło
Używam taskinfo do wykresu historii prędkości procesora / pamięci RAM / IO. http://www.iarsn.com/taskinfo.html
Ale wybuchy braku reakcji brzmią bardziej jak czas przerwania z powodu fałszywego dysku HD / SS.
źródło