Jak rozwiązywać problemy z wysokim użyciem svchost.exe w systemie Windows 7?

24

Mam problem z 64-bitowym systemem Windows 7. Myślałem, że to powolne, ale potem zobaczyłem, że użycie procesora zawsze wynosiło około 80% i zacząłem szukać rozwiązania.

Istnieją dwa svchost.exe„s zużywa około 30% każdy i środków monitorowania istnieje przerwań systemowych zużywa 45% cały czas. Próbowałem zamknąć aplikacje, ale to nie robi różnicy.

Próbowałem innych rzeczy, które znalazłem w Google, takich jak wyłączenie aktualizacji systemu, ale to nie działało.

Nie wiem, czy to pomoże, ale oto moje specyfikacje:

Core 2 Duo 4400
ATI Radeon 4850
4 GB DDR2 RAM

EDYTOWAĆ

Uruchomiłem sugerowany program i uzyskałem te informacje; czy dobrze to zrozumiałem?

Wpisz opis zdjęcia tutaj


EDYTOWAĆ

Jak pytałeś tutaj, czy dostałem to teraz? W drugim TCP / IP nie ma nic.

Wpisz opis zdjęcia tutaj

EDYTOWAĆ

Uruchomiłem msconfigi wziąłem usługi, których jeden z svchost.exeprocesów używał przy starcie, a teraz mój procesor ma około 50%, ale nadal chciałbym go ulepszyć. Nie mogę stracić tyle mocy procesora tylko z powodu Windows ...


EDYTOWAĆ

Tak, nic nie mogę tutaj zrobić. Niedługo zamierzam ponownie zainstalować system Windows XP, to naprawdę dziwne ...

Leonardo
źródło

Odpowiedzi:

17

Myślę, że przyda ci się Svchost Viewer .

wprowadź opis zdjęcia tutaj

Możesz go użyć do ustalenia, który program robi najwięcej, przeglądając ilość zapisanych danych i tym podobne. Powinno to w jakiś sposób pomóc ustalić, który proces robi co.

KdgDev
źródło
Próbowałem użyć tego narzędzia, ale nie wiem, dlaczego to zawsze pokazuje svchost viewer couldn't find any running services. Czy wyświetlenie procesów hosta svc wymaga konkretnej konfiguracji? Nie mogłem znaleźć żadnej dokumentacji na wspomniany link.
RBT
14

Użyj programu takiego jak Process Explorer, aby określić, który svchost.exezużywa zasoby. Czy svchostistota jest uciekana services.exe? Jakie są argumenty wiersza polecenia dla tego konkretnego svchost? Istnieje kilka svchosturuchomionych przez system Windows, trzeba będzie ustalić, który z nich zużywa te zasoby. Process Explorer wyświetli, które usługi są powiązane z tym procesem, a także wyświetli używane porty TCP / IP.

Kliknij znacznik Process, aby procesy były wyświetlane w formacie drzewa, aby potwierdzić, że są uruchamiane services.exe.

wprowadź opis zdjęcia tutaj

Chociaż patrząc na karty usług, wyglądają na uzasadnione.

First svchost looks like `svchost.exe -k LocalServiceNoNetwork`
Second svchost looks like `svchost.exe -k LocalServiceNetworkRestricted`

Czy masz coś agresywnie uderzającego w Zaporę systemu Windows? Co pokazują karty TCP / IP i wątki? Karta wątków wyświetla informacje o procesorze dla wątków w ramach każdego procesu. Czy próbowałeś zrestartować określone usługi lub sprawdziłeś dziennik zdarzeń, aby zobaczyć wiele błędów?

Czy prowadzisz indeksowanie plików multimedialnych lub próbujesz uzyskać dostęp do tych plików w sieci LAN?

To dużo połączeń z EtwTraceMessageVa. Czy sprawdziłeś swój dziennik zdarzeń? W tempie, w jakim używa procesora, musi być coś w WMI piszącym do ETW . Lepsze pytanie, czy zaczęło się to ostatnio i czy masz punkt przywracania, zanim to się stało?

Darren Hall
źródło
Wstępnie zainstalowany Monitor zasobów systemu Windows wyświetli także nazwę konkretnego procesu używającego svchost.
marcovtwout
Zgodnie z odpowiedzią na zduplikowane pytanie, wygląda na to, że jeśli najedziesz myszką na nazwę procesu, powie ci, które usługi działają w ramach tego procesu svchost.
Jeff B
4

Jestem zaskoczony radą udzieloną przez innych w tej sprawie (niektórzy nawet po prostu zgadli ).

Dla Leonarda i innych, którzy tu się znaleźli, są pewne wskazówki, których wszyscy inni przeoczyli.

  • Tak, zacznij od uzyskania kopii Eksploratora procesów .

  • Tak, następnie spójrz na instancje, SVCHOST.EXEktóre są uruchomione i kliknij dwukrotnie ten, który ma wysokie użycie procesora.

  • Tak, spójrz na Serviceskartę, aby dowiedzieć się, jakie usługi są hostowane przez tę instancję svchost.

Tutaj zatrzymali się wszyscy inni; To nie wystarczy. Teraz musisz uruchomić Services.msci zatrzymać każdą z usług hostowanych przez niekontrolowaną instancję svchost po kolei, upewniając się, że po każdej z nich czekasz i czekasz chwilę, aby sprawdzić, czy obciążenie procesora spadnie. Jeśli tak, to ostatnim, którego zatrzymałeś, był winowajca.

W tym momencie dokładnie wiesz, która usługa blokowała procesor, a następnie możesz dowiedzieć się, dlaczego ta konkretna usługa wysysa cykle.

Synetech
źródło
1

Wiele wirusów może działać pod nazwą svchost, więc najlepiej sprawdzić, czy masz przyzwoity program antywirusowy uruchomiony i zaktualizowany. Jednak równie prawdopodobne jest, że nie jest to związany z wirusami problem z Windows.

Svchost.exe to ogólna nazwa procesu hosta dla usług uruchamianych z bibliotek z dynamicznymi linkami (DLL) i można analizować, co te poszczególne procesy svchost używają Svchost Process Analyzer

WheresAlice
źródło
1

Właśnie miałem jeden z procesów svchosts, znikąd, zacząłem okaleczać mój Win7 32-bitowy komputer przez ostatnie 2 dni, z procesorem (Dual Core) zatrzymany na 100%. Ten szczególny proces svchost był odpowiedzialny za kilkanaście wątków procesu usług sieciowych, z których wszystkie wydawały się standardowymi niezbędnymi usługami sieciowymi.

Wykorzystując kombinację nowych alertów administratora w EventVwr, Sys Internals Process Explorer i analizatorze svchost, zawęziłem go do głównego winowajcy:

Usługa pulpitu zdalnego Windows Live Mesh

Wyłączenie tego w usługach pozwoliło mi odzyskać około 60% mojego procesora, a ta konkretna usługa svchost odpadła w menedżerze zadań.

Następnie został zastąpiony innym, wykorzystując około 35–45%. Klikając prawym przyciskiem myszy w Menedżerze zadań i przechodząc do usługi, jedyną przypisaną usługą był Windows Defender .... (i wszyscy o tym słyszeliśmy wcześniej).

Ponieważ wielu nie zdaje sobie sprawy, że jest domyślnie zainstalowany w systemie Windows 7 (nie widać go na liście programów), ten link pokazuje fajny sposób na to, jak go wyłączyć.

http://www.simplehelp.net/2009/03/11/how-to-disable-windows-defender-in-windows-7/

Dominic bufton
źródło
1

Mam również problem z svchost.exe powodującym 100% użycie procesora . Usługi związane z svchost to NLASvc, LanmanWorkstation, Dnscache i CryptSvc. Moim problemem był Firefox. W najnowszej wersji dodali plugin-container.exe, który działa jako proces oddzielnie od Firefoksa. Chodzi o to, że jeśli wtyczka ulegnie awarii, nie spowoduje awarii Firefoksa ani sesji przeglądania. Ale sprawiło, że surfowanie w moim systemie było nie do zniesienia.

Rozwiązanie: Wyłącz proces kontenera wtyczek.

  • Otwórz przeglądarkę Firefox.
  • Wpisz about: config w pasku adresu i naciśnij klawisz Enter.
  • Pojawi się ostrzeżenie. Zignoruj ​​to i naciśnij przycisk „Będę ostrożny, obiecuję!”.
  • W polu Filtr wpisz dom.ipc. Pojawi się sześć preferencji dla filtra dom.ipc.
  • Ignoruj ​​pierwszą i ostatnią preferencję (dom.ipc.plugins.enabled i dom.ipc.plugins.timeoutSecs). Przełącz (podwójne kliknięcie) każdą z czterech pozostałych preferencji, aby zmienić wartość z „prawda” na „fałsz”.

Po zakończeniu uruchom ponownie Firefoksa i otwórz Menedżera zadań Windows, aby sprawdzić, czy proces kontenera wtyczek jest wyłączony.

Więcej informacji

Funkcja ochrony przed awarią w przeglądarce Firefox 3.6 jest włączona tylko dla niektórych wtyczek. Cztery zmodyfikowane tutaj preferencje określają cztery różne wtyczki poza procesem. Są to wtyczka testowa NPAPI, Adobe Flash, Apple QuickTime (Windows) i Microsoft Silverlight (Windows). Te wtyczki są określone w osobnych dom.ipc.plugins.enabledpreferencjach, domyślnie jest ustawiona na true. Możemy je wyłączyć, zmieniając ich wartość na false. W ten sposób plugin-container.exe nie będzie działać. Domyślnie preferencja dom.ipc.plugins.enabledjest już ustawiona na „fałsz”. Więc nie trzeba go dotykać. Nie dom.ipc.plugins.timeoutSecsma to również znaczenia tutaj, ponieważ inne wartości są fałszywe.

Mam nadzieję, że to komuś pomoże.

CHuBBNuTT
źródło
0

Miałem to samo, zabiłem Windows Defender i teraz mam się dobrze. Powodzenia.


źródło
0

Sysinternal's Process Explorer

Następnie sprawdź, która SVCHOSTusługa działa bez żadnego elementu nadrzędnego, ponieważ każda svchost.exemusi zostać załadowana przez services.exe. Zabij ich wszystkich, jeśli zostaną znalezione. (Możesz dowiedzieć się, jaki jest rodzic procesu, klikając go dwukrotnie >> Karta „Obraz” >> Etykieta „Parent”).

Ponadto, jeśli masz wirusa, który jest taki sam jak u mnie, wykonaj następujące czynności.

Sprawdź, czy Watermark.exepod ..\Program Files\Microsoftfolderem znajduje się proces o nazwie . Następnie usuń go. (Lepiej również ZABLOKUJ ten folder za pomocą jego Securityzakładki.)

Watermark.exewstrzykuje VBScriptskod do każdego .htmlpliku. Następnie te zainfekowane .htmlpliki są wstrzykiwane do SVCHOST.EXE. Sprawdź kilka .htmlplików z różnych miejsc, otwierając w edytorze tekstu. * Nie uruchamiaj *. Jeśli znajdziesz VBScriptkod na dole pliku, warunek jest gorszy niż się spodziewaliśmy.

Jeśli tak się dzieje, lepiej wyczyść wszystkie .htmlpliki (lub) usuń kod z każdego .htmlpliku.

Po wyczyszczeniu .htmlplików w tej sytuacji z pewnością zastąpiłem SVCHOST.EXEinstalacyjną płytę CD z systemem Windows XP, używając opcji Recovery Consolerozruchu.

Alvin
źródło
0

Prostym sposobem, którego użyłem w Windows 7, aby znaleźć to, co wszystkie usługi działają pod konkretnym svchost.exe w menedżerze zadań systemu Windows, było kliknięcie prawym przyciskiem myszy svchost.exe i wybranie opcji Idź do usług z listy. Spowoduje to przejście do karty usług i wyróżnienie wszystkich usług uruchomionych w ramach wybranego pliku svchost.exe.

Podobną opcją w wierszu polecenia jest uruchomienie,

tasklist /svc

Mam nadzieję, że to pomoże!

Anmol Saraf
źródło
-1

Może to być usługa „Power” uruchamiana przez jeden z procesów svchost, powodujący duże zużycie procesora. Spróbuj zmienić tryb oszczędzania energii z wagi (domyślnie) na wydajność i ustaw tryb uśpienia na „Nigdy”.

carmel564
źródło