svchost.exe -k netsvcs belegen> 1 GB Speicher

8

Ich habe festgestellt, dass mein Produktionsserver "svchost.exe -k netsvcs" ständig> 1 GB RAM-Speicher belegt, was ich für etwas übertrieben halte.

Dies ist, was tasklist / svc mir für diesen Prozess geben wird:

                               Appinfo, CertPropSvc, gpsvc, IKEEXT,
                               iphlpsvc, LanmanServer, ProfSvc, Schedule,
                               SENS, SessionEnv, ShellHWDetection,
                               Winmgmt, wuauserv

Ich habe mich gefragt, welcher Prozess möglicherweise für diesen Speicherverlust verantwortlich ist und wie er behoben werden kann. Hat jemand in der Vergangenheit das gleiche Verhalten gehabt?

Auf dem Server wird Windows Server 2008 R2 (Build 7601: Service Pack 1) ausgeführt. Die Hauptfunktion besteht darin, interne Anwendungsprozessorarbeiter auszuführen.

Agentenvr
quelle
Ich habe SP1 installiert, aber jetzt, wo Sie darüber gesprochen haben ... support.microsoft.com/kb/977357 get-hotfix -id KB977357 get-hotfix: Der angeforderte Hotfix kann auf dem 'localhost'-Computer nicht gefunden werden. Wenn ich SP1 installiert habe, sollte ich diesen Hotfix nicht installiert haben?
Agenten am
1
Das Service Pack rollt den Hotfix damit zusammen, sodass Sie ihn nicht aufgelistet finden.
Nathan C
4
OK. Nun, ich würde sagen, der nächste Schritt besteht darin, herauszufinden, welcher Dienst den Speicher verbraucht, und der einzige Weg, dies zu tun, besteht darin, sie nacheinander mithilfe von in ihre eigenen svchost.exe-Prozesse aufzuteilen SC Config Servicename Type= own. Siehe serverfault.com/questions/12278/…
Ryan Ries
Sind Sie sicher, dass der Prozess die legitime Datei svchost.exe ist?
Konrad Gajewski
Sie können die Dienste auch einfach einzeln stoppen / beenden und sehen, wann die Mem-Nutzung abnimmt.
ssnobody

Antworten:

1

Die Frage ist, ist es ein Leck? Sie sagen, dass die Speichernutzung "stetig" ist.

Leck = Die Speichernutzung nimmt mit der Zeit zu und nimmt nie ab. Daher müssen Sie den Server von Zeit zu Zeit neu laden.

Wenn die Einnahmen für längere Zeit (z. B. zwei Wochen) bei ~ 1 GB bleiben, ist die Situation völlig normal. Moderne Software verwendet bei Bedarf freien Speicher, und ich kenne einige Programme, die einfach alles abrufen, um Zeit bei der Speicherzuweisung zu sparen.

Wenn dies den Betrieb des Systems nicht beeinträchtigt, berühren Sie es nicht.

StanTastic
quelle
1

Die Speicherzuweisung ist in den Zyklen der CPU sehr teuer im Vergleich zur Wiederverwendung des vorhandenen zugewiesenen Speichers. Es kommt häufig vor, dass ein einmal gestartetes Programm bis zur Beendigung seiner Funktion diesen Speicher nicht "loslässt".

Zum Beispiel hält Firefox einige Zeit Speicher. Wenn Sie Ihren Computer eine Woche lang mit geöffnetem Firefox eingeschaltet lassen, werden Sie feststellen, dass der Speicher ständig größer wird. Nach YouTubing, Google Play Music-ing und Surfen erreicht mein Speicher 2-4 GB - was nach dem Neustart des Prozesses auf 300 MB schrumpft. Dies liegt an den Caching-Funktionen, und dieses Verhalten ist beabsichtigt.

Ich würde eher glauben, dass der SVCHost-Prozess genau so läuft, wie er sollte. Wie viele Dienste wird auf Ihrem Server ausgeführt? 1 GB klingt nicht nach - obwohl das davon abhängt, welche Dienste Sie ausführen.

Ryan
quelle
1

Wenn Sie weitere Untersuchungen durchführen möchten, installiere ich als nächsten Schritt den Prozess-Explorer (procexp.exe), den Sie auf der Microsoft-Website finden. Auf diese Weise erfahren Sie, welche Dienste diesen Prozess verwenden (siehe Screenshot von procexp). Anschließend können Sie Dienste stoppen / starten und feststellen, ob ein bestimmter Dienst mit der Freigabe / Erfassung einer großen Speicherzuordnung verbunden ist. Außerdem erfahren Sie, ob es sich um einen Arbeitssatz oder einen privaten (= hauptsächlich Heap) zugewiesenen Speicher handelt. Wenn es an einen bestimmten Dienst gebunden ist, haben Sie einen klareren Weg, um weiter zu forschen.

Es versteht sich von selbst, dass Sie diese Tests im vereinbarten Ausfall- / Wartungsfenster durchführen oder auf einem Testserver reproduzieren müssen, da Sie den normalen Betrieb unterbrechen. Der Neustart und die Checkliste der Dienste kehren nach Abschluss des Tests zu Ihrem normalen Laufsatz zurück.

Bildschirmfoto: http://i.imgur.com/20Ij6Mi.png

Scott R.
quelle