Ich habe einen Laptop mit einem 32-Bit-System von Win 7, das von einem Pentium mit zwei Kernen angetrieben wird (es ist ein Laptop von 2010). Manchmal funktioniert es gut, aber normalerweise ist es bei 100% CPU-Auslastung im Leerlauf. Die CPU wird von zwei svchost.exe-Prozessen belegt (jeweils 50%). Soweit ich weiß, ist dies ein Service-Host. Gibt es eine Möglichkeit, herauszufinden, welcher Dienst der Schuldige ist?
Bemerkenswert: Dies geschieht auch im abgesicherten Modus.
Antworten:
Da eine Instanz von svchost.exe mehrere Systemdienste hostet, können Sie die Dienste wie folgt in eine eigene Instanz von svchost.exe unterteilen, um herauszufinden, welcher Dienst die CPU beansprucht.
Die Vorgehensweise ist wie folgt:
Verwenden Sie den Task-Manager, um alle Prozesse in absteigender Reihenfolge nach CPU zu sortieren, und markieren Sie die PID der Prozesse, die die CPU verbrauchen
Geben Sie in einer Eingabeaufforderung (cmd) den Befehl ein
Tasklist /svc /fi "IMAGENAME eq svchost.exe"
Die problematischen Instanzen von svchost.exe können nun anhand ihrer PID gefunden werden. Auf der rechten Seite finden Sie eine Liste der von ihnen gehosteten Systemdienste
Geben Sie für jeden Namen in der Liste den folgenden Befehl in einer Eingabeaufforderung (cmd) ein, die als Administrator ausgeführt wird:
sc config <name> type= own
(Beachten Sie das Leerzeichen zwischen '=' und 'own')
Starten Sie neu
Die von Ihnen getrennten Systemdienste werden nun jeweils in einer eigenen Instanz von svchost.exe ausgeführt und können im Task-Manager auf der Registerkarte "Prozesse" angezeigt werden. Sie können mit der rechten Maustaste auf eine Instanz klicken und "Gehe zu Dienst (en)" auswählen, um direkt zum Dienst zu gelangen, oder den Befehl "Jobliste" erneut verwenden.
Weitere Informationen finden Sie im Microsoft-Artikel
Erste Schritte mit SVCHOST.EXE .
quelle
Mit Process Explorer ist das ganz einfach. Ich habe bestätigt, dass dies mit Process Explorer v16.20 unter 64-Bit Windows 7 Professional und 64-Bit Windows 10 Pro funktioniert.
svchost.exe
Prozess mit einem hohen (oder sogar nur messbaren / nicht leeren) Wert in derCPU
Spalte. Hierbei kann das Sortieren nach der SpalteProcess
oderCPU
hilfreich sein.svchost.exe
Prozess und wählen SieProperties...
.Threads
Registerkarte aus. Alle Threads in diesem Prozess werden angezeigt.CPU
Spalte.CPU
Hierbei kann das Sortieren nach der Spalte hilfreich sein.Service
Spalte wird der Name des Dienstes angezeigt, in dem dieser Thread ausgeführt wird.Wenn Ihnen der Servicename nicht bekannt ist ...
Services
Registerkarte aus. Alle Dienste, die in diesem Prozess ausgeführt werden, werden angezeigt.Service
Spalte auf derServices
Registerkarte an den Wert derService
Spalte auf derThreads
Registerkarte an, die Sie in Schritt 6 gefunden haben.Display Name
Spalte wird der Anzeigename des Dienstes angezeigt. Die Beschreibung des ausgewählten Dienstes wird unter der Liste der Dienste angezeigt.quelle
Sie können den Task-Manager verwenden . Es gibt andere Möglichkeiten (Befehlszeile oder sogar ein Programm mit WinAPI schreiben ), aber ich werde sie hier nicht diskutieren. Bevor Sie fortfahren, sollte Ihr Benutzer über Administratorrechte verfügen.
Auf der Registerkarte Prozesse :
Klicken Sie auf der Registerkarte " Prozesse" auf die Spaltenüberschrift " CPU" , damit die Prozesse nach ihrem CPU-Verbrauch sortiert werden (beachten Sie, dass die Prozesse möglicherweise in aufsteigender / absteigender Reihenfolge angezeigt werden - bei jedem Klick auf " CPU" wird die Reihenfolge geändert ). Klicken Sie auf, bis die beiden Prozesse angezeigt werden erscheinen am oberen Rand der Tabelle. Jetzt können Sie ihre Befehlszeile (ich weiß nicht, aber ich habe das Gefühl, dass eine von ihnen
netsvcs
(Netzwerkdienste) ist) und auch ihre PIDs sehen.Als Nächstes müssen Sie die beiden Prozesse den Diensten zuordnen. Dafür können Sie entweder:
EDIT0 : Die Antwort wurde aktualisiert, um einen einfacheren (und sinnvolleren) Ansatz zu bieten, anstatt meine rechte Kopfseite mit der von mir ursprünglich geposteten linken Hand zu kratzen .
quelle