Jak śledzić wykorzystanie procesora dla usług Windows?

27

Korzystam z menedżera zadań systemu Windows do śledzenia wykorzystania procesora. Zauważam, że moje aplikacje są na liście, ale nie ma usług Windows.

Na przykład całkowite użycie procesora jest wymienione na 70%, ale podsumowanie wymienionych aplikacji wynosi tylko około 30%. Zakładam, że różnica polega na usługach, które nie są wymienione na karcie Procesy w Menedżerze zadań Windows.

pisklęta
źródło

Odpowiedzi:

25

Oto jak uzyskać szczegółowe informacje na temat usługi bez żadnych zewnętrznych narzędzi w Windows 7 i 8:

Otwórz Monitor zasobów:

  • Otwórz Menedżera zadań i kliknij kartę Wydajność
  • Kliknij „Otwórz monitor zasobów” u dołu

Pokaż szczegóły usługi:

  • Kliknij zakładkę „CPU”
  • W sekcji „Procesy” znajdź żądany proces; możesz sortować według procesora, klikając nagłówek kolumny „CPU”
    • Zaznacz pole obok niego
  • Rozwiń sekcję „Usługi” poniżej; zobaczysz, która konkretna usługa korzysta z procesora

wprowadź opis zdjęcia tutaj

Musiałem to rozgryźć, ponieważ svchost zużywał dużo zasobów i to był jedyny sposób, w jaki mogłem zobaczyć, że winowajcą był upnphost.

dominik andreas
źródło
Istnieje również sekcja „Usługi”, którą można rozwinąć w „Procesach”. Tak czy inaczej, dzięki!
Nicholas Riley,
Właśnie o tym mówiłem, cieszę się, że to znalazłeś :-) wybierając proces w sekcji „Procesy” (w moim przypadku konkretny svchost), możesz zobaczyć usługi w widoku „Usługi”, które są powiązane z tym konkretnym proces.
dominik andreas
Wreszcie będę w stanie wyśledzić tę tajemniczą usługę, która używa 1 procesora na 100% w systemie Windows 7, tylko gdy ekran wyłączy się po 15 minutach bezczynności. Gdy tylko go obudzę, usługa zwalnia procesor, którego używa. Właśnie widziałem wystarczająco dużo, aby zobaczyć, że jest to „svchost” ... teraz, ze średnią 60 sekund, będę miał czas, aby to zobaczyć. Cholerne botnety!
MrBrody
7

Prawdopodobnie najlepszym narzędziem jest Process Explorer firmy Sysinternals. Możesz zdobyć to narzędzie i wiele innych tutaj .

Edycja: aby zobaczyć, które usługi działają w svchost zamiast jako osobny proces, musisz dodać kolumnę „Wiersz poleceń” do okna po prawej stronie. Niestety nie wyświetli to usług, które działają razem w pakiecie. Aby zobaczyć te informacje w Process Explorer, musisz umieścić kursor myszy nad konkretnym wystąpieniem svchost, o którym mowa. Informacje pojawią się w wyskakującym okienku.

KevinH
źródło
Możesz także zdecydować, aby procmon zastąpił Taskman. Procmon robi to, rejestrując się jako debugger dla Taskman i po prostu uruchamiając się zamiast Taskman, gdy coś chce uruchomić Taskman.
Brian Reiter,
Ups Nie procmon, mam na myśli procexp. (Procmon jest kolejnym narzędziem firmy sysinternals, które pozwala oglądać dostęp do rejestru, systemu plików i interfejsu API systemu Windows dla procesów).
Brian Reiter
Pamiętaj, że jeśli użyjesz opcji Plik> Pokaż szczegóły dla wszystkich procesów, możesz następnie użyć karty Wątki we właściwościach procesu dla tego wystąpienia svchost.exe (kliknij dwukrotnie proces lub naciśnij klawisz Enter), aby zobaczyć użycie procesora w wątku oraz kolumna Usługa zawiera odpowiednią usługę.
Nicholas Riley,
W ProcessExplorer karty [Usługi] i [TCP / IP] dostarczyły mi cennych informacji na temat identyfikacji konkretnej usługi. Istnieje również inny sposób identyfikacji usługi poprzez kliknięcie prawym przyciskiem myszy w standardowym Menedżerze zadań, który zamieszczam poniżej jako osobną odpowiedź.
Alex Fortuna,
1

Wypróbuj menedżera Extensoft Free Extended Task Manager

http://www.extensoft.com/?p=downloads

Przejdź do karty Usługi i kliknij uruchomioną usługę prawym przyciskiem myszy, a następnie kliknij polecenie Przejdź do procesu .

Spowoduje to powrót do karty Procesy i wyróżnienie procesu używanego przez tę usługę.

Qwerty
źródło
Zainstalowałem darmowego rozszerzonego menedżera zadań extensoft. Dodaje kartę usługi. Klikam usługę i wybieram przejście do przetworzenia. Przełącza się na zakładkę procesu, ale nie wyróżnia procesu. Czy istnieje również narzędzie, które pokazuje użycie procesora przez wszystkie usługi na liście (podobnie do listy procesów w menedżerze zadań)? Uwaga: używam systemu Windows Vista Home Premium Edition.
Nie jestem pewien, dlaczego nie podkreśla tego procesu. Mam też maszynę Vista obok mnie, która pokazuje, jaki proces jest związany z usługą.
Qwerty
1

Wiele usług działa w ramach instancji ogólnego procesu hosta, svchost.exe. Możesz użyć tasklist / svc w wierszu poleceń, aby uzyskać wyliczenie usług działających w każdej instancji svchost.exe wraz z innymi procesami.

Możesz także kliknąć prawym przyciskiem myszy proces svchost.exe w menedżerze zadań i wybrać „Idź do usług”, a Taskman przełączy się na zakładkę usług i podświetli odpowiednie usługi.

W Eksploratorze procesów sysinternals możesz najechać myszką na servicehost.exe za pomocą myszy i wyświetlić etykietkę usług hostowanych w nim.

Żadne z nich nie powie Ci, ile czasu procesora proces usługi hosta jest poświęcone konkretnej usłudze członkowskiej hostowanej w ramach.

Brian Reiter
źródło
tasklist /svcjest fajną rzeczą, pokazuje PID i powiązane usługi w krótkiej formie. Dziękuję Ci!
Alex Fortuna,
1

Działa to dla mnie w standardowym Menedżerze zadań dostępnym w Windows 7 Ultimate:

  1. Otwórz Menedżera zadań.
  2. Kliknij kartę [Procesy].
  3. Kliknij przycisk [Pokaż procesy od wszystkich użytkowników].
  4. Kliknij prawym przyciskiem myszy na svchost.exektóre powodują kłopoty (pamięć, procesor, itd.)
  5. Z menu rozwijanego wybierz opcję [Idź do usług].

Spowoduje to przejście do karty [Usługi] z 1 lub więcej wyróżnionymi powiązanymi usługami . Należy pamiętać, że jeden svchost.exemoże odnosić się do wielu usług na karcie [Usługi].

Alex Fortuna
źródło
0

Powinieneś otworzyć menedżera zadań jako administrator. Kliknij przycisk „Pokaż procesy od wszystkich użytkowników”.

Ale jak powiedział Brian Reiter, wiele usług jest hostowanych w ramach jednego procesu. Aby dowiedzieć się, która usługa zużywa Twój procesor, możesz wypróbować narzędzie Service Disclosure . Pozwala podzielić usługi na dedykowany proces. Będziesz mógł zobaczyć, która usługa korzysta z zasobów. Po zbadaniu umożliwia zwrot wszystkich usług z powrotem.

Dmytro Ovdiienko
źródło