Gibt es in Windows 7 eine Möglichkeit, festzustellen, wie viel Speicher ein Dienst verwendet?

9

Gibt es in Windows 7 eine Möglichkeit (mithilfe einer gemeinsamen Schnittstelle oder eines benutzerdefinierten Dienstprogramms) festzustellen, wie viel Speicher ein bestimmter Windows-Dienst verwendet?

Es scheint, dass die meisten Dienste von svchost.exeProzessen gehostet werden (einige svchosts.exe-Prozesse scheinen Tonnen von Diensten zu hosten). Obwohl es möglich ist zu wissen, welche Dienste von einem bestimmten Prozess gehostet werden, habe ich keine Möglichkeit gefunden, Informationen darüber zu erhalten, wie viel Speicher ein Dienst benötigt.

Tigrou
quelle
2
Schauen Sie sich den Prozess-Explorer an, der verschachtelte Prozesse identifiziert und ein gutes Gesamtbild der Vorgänge in einem System liefert. technet.microsoft.com/en-us/sysinternals/bb896653.aspx
jmreicha
In dieser SO-Antwort sehen Sie ein Skript zum Überprüfen des Speichers einzelner Dienste .
Rosberg Linhares

Antworten:

13

Schauen Sie sich Process Explorer aus der SysInternals-Tool-Suite an. Sortieren Sie die processSpalte nach Namen und suchen Sie svchost. Dann können Sie im Beschreibungsfeld (manchmal) den tatsächlich ausgeführten Dienst sehen. Die Private BytesSpalte zeigt Ihnen, wie viel dieser bestimmte Dienst im Speicher verwendet. Geben Sie hier die Bildbeschreibung ein

PenguinCoder
quelle
Gibt es einen Grund, warum ich in "privaten Bytes" statt in "Arbeitssatz" (oder "Virtuelle Größe") suchen sollte?
Tigrou
1
@tigrou Arbeitssatz ist kürzlich referenzierter Speicher, Sie werden sehen, dass es normalerweise weniger als Private Bytes ist. Private Bytes ist der aktuell vom Prozess zugewiesene Speicher, der von keinem anderen Prozess gemeinsam genutzt wird. Siehe diese StackOverflow- Frage.
PenguinCoder
2
Der springende Punkt der Frage war, die Speicherstatistik für einzelne Dienste zu ermitteln, die einen einzelnen svchost-Hostprozess gemeinsam nutzen. Diese Antwort spricht das überhaupt nicht an.
Kreemoweet
@kreemoweet Du hast dir den Screenshot nicht angesehen, oder? scvhost.exe wird an vielen Stellen in den Dienst unterteilt, der es verwendet.
PenguinCoder
1
Wie @kreemoweet feststellt, beantwortet dies nicht die angegebene Frage, die sich ergibt, wenn mehrere Dienste denselben Prozess verwenden. Die Antwort auf die Frage finden Sie unter Serverfehler: Sie können jeden Dienst so konfigurieren, dass er seinen eigenen Prozess verwendet .
Christian Conkle
6

Mit dem Task-Manager ( Ctrl+ Shift+ Escape) können Sie mit der rechten Maustaste auf den svchostProzess klicken und ihn auswählen. Dadurch werden Go to service(s)die in diesem Prozess gehosteten Dienste hervorgehoben.

Alternativ können Sie durch Auswahl der Spalte PID auf der Registerkarte Prozess die PID auf der Registerkarte Dienste abgleichen.

jdog
quelle
1

Sie können auch den Build im Windows Task-Manager verwenden und zu Ansicht> Spalten auswählen> gehen und diejenigen überprüfen, die "Speicher" sagen. Dies sollte ungefähr sieben sein. Sie alle geben Ihnen unterschiedliche Vorstellungen darüber, was das Programm gerade tatsächlich tut.

gabeio
quelle
-1

Es gibt auch einen Ressourcenmonitor. Es ist neu in Windows 7 und 2k8r2. Es ist wie ein Task-Manager für Steroide. Ich bin mir nicht sicher, warum das niemand benutzt. Nach meiner Erfahrung ist es tatsächlich einfacher, Probleme damit zu lösen, als mit dem Prozess-Explorer. Klicken Sie bei geöffnetem Task-Manager einfach auf der Registerkarte Leistung auf die Schaltfläche "Ressourcenmonitor".

Rich.Weber
quelle
1
Welche Informationen gibt es? Wie wäre es mit einem Screenshot? Können Sie bitte auch nur 2008 R2 anstelle von Initialen schreiben, insbesondere wenn es sich nur um 2 zusätzliche Zeichen handelt? Diese Antwort ist von sehr geringer Qualität. Bitte bearbeiten , um es zu verbessern.
Kanadier Luke