Mam laptopa z 32-bitowym systemem Win 7 zasilanym dwurdzeniowym Pentium (to laptop z 2010 roku). Czasami działa dobrze, ale zwykle pracuje na biegu jałowym przy 100% obciążeniu procesora. Procesor jest zużywany przez dwa procesy svchost.exe (po 50%). O ile rozumiem, jest to host usług. Czy jest jakiś sposób, aby dowiedzieć się, która usługa jest winowajcą?
Uwaga: dzieje się to nawet w trybie awaryjnym.
Odpowiedzi:
Jako instancja svchost.exe hostuje wiele usług systemowych, oto jak oddzielić usługi, każda do własnej instancji svchost.exe, aby dowiedzieć się, która usługa zużywa procesor.
Procedura jest następująca:
Użyj Menedżera zadań, aby wyświetlić wszystkie procesy posortowane według malejącej liczby procesorów i zaznaczyć PID procesów, które zużywają procesor
W wierszu polecenia (cmd) wprowadź polecenie
Tasklist /svc /fi "IMAGENAME eq svchost.exe"
Problematyczne wystąpienia svchost.exe można teraz zlokalizować według ich identyfikatora PID, a po prawej stronie znajduje się lista usług systemowych, które obsługują
Dla każdej z nazw na liście wprowadź następujące polecenie w wierszu polecenia (cmd), który jest uruchamiany jako administrator:
sc config <name> type= own
(Zwróć uwagę na spację między „=” a „własnym”)
Restart
Oddzielone usługi systemowe będą teraz działać w osobnej instancji svchost.exe i będą widoczne w Menedżerze zadań na karcie Procesy. Możesz kliknąć instancję prawym przyciskiem myszy i wybrać opcję „Przejdź do usługi”, aby przejść bezpośrednio do usługi lub ponownie użyć polecenia tasklist.
Aby uzyskać więcej informacji, zobacz artykuł Microsoft
Pierwsze kroki z SVCHOST.EXE Rozwiązywanie problemów .
źródło
Process Explorer ułatwia to. Potwierdziłem, że działa z Process Explorer v16.20 na 64-bitowym systemie Windows 7 Professional i 64-bitowym systemie Windows 10 Pro.
svchost.exe
wCPU
kolumnie proces o wysokiej (a nawet po prostu mierzalnej / niepustej) wartości . Pomocne może być sortowanie według kolumnyProcess
lubCPU
.svchost.exe
proces prawym przyciskiem myszy i wybierzProperties...
.Threads
kartę. Wszystkie wątki w tym procesie zostaną wyświetlone.CPU
kolumnie wątek o wysokiej (lub ponownie mierzalnej / niepustej) wartości . Sortowanie wedługCPU
kolumny może w tym pomóc.Service
Kolumna pokaże nazwę usługi, w którym ten wątek jest uruchomiony.Jeśli nazwa usługi nie jest ci znana ...
Services
kartę. Zostaną wyświetlone wszystkie usługi uruchomione w tym procesie.Service
kolumnę naServices
karcie do wartościService
kolumny naThreads
karcie znajdującej się w kroku 6.Display Name
Kolumna wyświetli przyjazną nazwę usługi. Opis wybranej usługi pojawi się pod listą usług.źródło
Możesz użyć Menedżera zadań . Istnieją inne sposoby (wiersz poleceń, a nawet napisanie programu przy użyciu WinAPI ), ale nie będę ich tutaj omawiać. Zanim przejdziesz dalej, użytkownik powinien mieć uprawnienia administracyjne.
Na karcie Procesy :
Wróć do zakładki Procesy , kliknij nagłówek kolumny procesora, aby procesy były uporządkowane według zużycia procesora (zwróć uwagę, że procesy mogą być wyświetlane w kolejności rosnącej / malejącej - każde kliknięcie CPU przełącza kolejność), klikaj, aż 2 procesy pojawiają się u góry tabeli. Teraz możesz zobaczyć ich linię poleceń (nie wiem, ale mam wrażenie, że jednym z nich jest
netsvcs
(Usługi sieciowe)), a także ich PID.Następnie musisz dopasować 2 procesy do usług. W tym celu możesz:
EDYCJA 0 : Zaktualizowana odpowiedź, aby zapewnić prostsze (i bardziej sensowne) podejście, zamiast drapania mojej prawej głowy przy użyciu mojego stylu lewej ręki , który pierwotnie opublikowałem.
źródło