Die Speichernutzung von Windows 7 (x64) steigt auf über 90%, während das System inaktiv ist.

12

Ich habe Windows 7 mit 4 GB RAM. Wenn das System neu gestartet wird, starte ich mit einer Auslastung von ca. 33%. Wenn ich jedoch meinen PC für ein paar Stunden oder über Nacht im Leerlauf laufen lasse, steigt mein PC normalerweise auf die hohen 80er oder sogar auf über 90% Auslastung (einmal wurden es sogar 98%!).

Das größte Commit ist normalerweise SVCHost.exe mit ca. 500 MB. Mein sidebar.exe-Prozess tendiert auch dazu, auf ungefähr dieselbe Zahl zu klettern.

Dies ist eine neue Entwicklung seit dem Upgrade auf Win7 SP1, und ich finde im Internet nicht viele Informationen dazu. Hat jemand anderes auf dieses Problem gestoßen?

Bearbeiten Wenn ich zum PC zurückkehre, treten schwerwiegende Leistungsprobleme auf. Ich muss neu starten, um den Speicher wiederherzustellen.

Edit 2: Getaggt als "Service-Pack". Dieses Problem trat erst auf, als SP1 installiert wurde. Daher frage ich mich, ob dies die Hauptursache sein könnte.

Chris Sobolewski
quelle
Wie messen Sie die Speichernutzung? Der Task-Manager sagt, 512 MB frei von 6 GB sind in Ordnung, wenn sich der größte Teil im Cache befindet, da dieser bei Bedarf sofort freigegeben wird ...
Mokubai
Sie haben das Problem nicht beschrieben. Warum brauchst du die Erinnerung zurück? Was passiert, wenn Sie nicht neu starten? Alles, was Sie beschrieben haben, ist völlig normal. Freier Speicher ist verschwendeter Speicher. Wenn Sie heute nur 2 GB verwenden, können Sie morgen 6 GB verwenden.
David Schwartz
Ich habe 6 GB RAM auf Win7 SP1, ich möchte VS2015 und SQL Management Studio für die Entwicklung verwenden, aber wenn kein physischer RAM ausgeführt wird, werden 90 +% verwendet. Jetzt können Sie sich vorstellen, was passieren wird, wenn ich beide ausführe und so viel virtuelles Mem verwendet wird. und da HD viel zu langsam ist, um als Speicher verwendet zu werden, können Sie sich vorstellen, was passieren wird. Das am häufigsten verwendete Mem ist von svchost.exe -k LocalSystemNetworkRestricted
Adeem

Antworten:

6

Es ist nur ein Problem, wenn dieser Speicher für andere Aufgaben nicht verfügbar ist, wenn er aufgerufen wird. Nur weil es jetzt verwendet wird, heißt das noch lange nicht, dass es nicht schnell freigegeben werden kann, wenn es gebraucht wird. Tatsächlich wäre es reine Verschwendung, den Speicher ungenutzt zu lassen.

Nebenbei bemerkt ist dies ein weiterer Unterschied in der Art und Weise, wie Windows und Linux Speicher verwenden. Auf einem Linux-System wäre dies etwas besorgniserregender, da Swap nur als letzter Ausweg verwendet wird. Es wird nichts ausgetauscht, es sei denn, dies ist absolut notwendig. Daher müsste Linux zuerst die Zeit in Anspruch nehmen, um den verwendeten Arbeitsspeicher auf die Swap-Partition zu schreiben, bevor er für andere Programme zurückgefordert werden kann. Windows hingegen lässt den gesamten Arbeitsspeicher gerne ständig ausgelagert. Auf diese Weise wird RAM, wenn es für einen anderen Prozess verwendet werden soll, bereits auf die Festplatte ausgelagert, sodass es viel schneller wiederhergestellt werden kann. Es ist ein Kompromiss - Linux ist in dieser Hinsicht schneller für RAM, das niemals ausgelagert / ausgetauscht wird, und Windows ist in dieser Hinsicht schneller für Zeiten, in denen Sie schnell austauschen müssen.

Joel Coehoorn
quelle
@JoelCoehoom "Windows hingegen möchte den gesamten Arbeitsspeicher ständig auf dem Laufenden halten." Entschuldigung, aber das ist ein verbreiteter Mythos. Auf meinem System-ATM habe ich 16 GB RAM und 7,5 GB durch Auslagerungsdateien gesicherter virtueller Adressraum (dh die "Festschreibungsgebühr"). Die Auslagerungsdatei enthält jedoch nur etwa 570 MiB. (Ich glaube, der Mythos begann, als der Task-Manager von XP aus unerfindlichen Gründen diesen Graphen als "PF-Nutzung" bezeichnete. Es wurde nur die Übermittlungsgebühr angezeigt , die als die derzeitige potenzielle Auslagerungsdatei-Nutzung angesehen werden kann.
Jamie Hanrahan
Ich habe 6 GB RAM auf Win7 SP1, ich möchte VS2015 und SQL Management Studio für die Entwicklung verwenden, aber wenn kein physischer RAM ausgeführt wird, werden 90 +% verwendet. Jetzt können Sie sich vorstellen, was passieren wird, wenn ich beide ausführe und so viel virtuelles Mem verwendet wird. und da HD viel zu langsam ist, um als Speicher verwendet zu werden, können Sie sich vorstellen, was passieren wird. Das am häufigsten verwendete Mem ist von svchost.exe -k LocalSystemNetworkRestricted
Adeem
2

Deaktivieren Sie den Sidebar-Prozess. Es ist bekannt, dass eine Menge Speicherplatz verloren geht (obwohl es wahrscheinlicher ist, dass die darin enthaltenen Add-Ons die Ressourcenlecks verursachen).

Vorschlag: Ein Upgrade auf 8 GB RAM ist besser, wenn Ihr Motherboard dies unterstützt, da sowohl Windows Vista als auch Windows 7 viel Speicher verbrauchen und die neueren Anwendungen heutzutage anscheinend auch mehr RAM verwenden.

Randolf Richardson
quelle
2
Ich halte "Deaktivieren der Seitenleiste" nicht wirklich für eine praktikable Option. Meine Gadgets sind da, seit ich das System habe, und dieses Problem ist erst kürzlich aufgetreten (seit SP1).
Chris Sobolewski
@ Chris Sobolewski: Das ist sicherlich Ihre Wahl. Wenn Sie es für eine Weile deaktivieren, haben Sie natürlich den Vorteil, dass Sie es als Schuldigen ausschließen (oder feststellen, dass es die Ursache für Ressourcenlecks ist). Berücksichtigen Sie auch nicht die Möglichkeit, dass das SP1-Update einige dieser Minianwendungen sowie den Sidebar-Code selbst aktualisiert hat - nur weil es sich um ein Update zur Behebung von Problemen handelt, bedeutet dies nicht, dass nichts anderes beschädigt wurde.
Randolf Richardson
2

Wollen Sie damit sagen, dass der größte Speicherbedarf 5 MB beträgt? Für mich nimmt svhost.exe 180 MB Speicher und Firefox mit wenigen Tabs dauert rund 500 MB. Können Sie überprüfen, wie viel Speicher wirklich verwendet wird, und uns Bescheid geben? Ist SQL Server installiert? Es ist bekannt, dass SQL alles lebendig frisst, je nachdem, über welche Art von Datenbanken Sie sie möglicherweise für die Entwicklung verfügen.

Holen Sie sich auf jeden Fall den Process Explorer , sortieren Sie Ihre Prozesse nach privaten Bytes und sehen Sie, was die gesamte Speicher-App in Anspruch nimmt. Sie müssen das überprüfen.

MadBoy
quelle
Das ist richtig. Wenn ich anfange, nimmt der Host-Prozess ungefähr 180 MB ein, genau wie der Ihre, aber wenn ich von einer längeren Zeit zurückkomme, in der ich ihn nicht benutze, sind es in der Regel ungefähr 500 MB. Möglicherweise haben Sie etwas mit SQL zu tun, ich führe eine Instanz von mySQL aus, jedoch nur zu Testzwecken, und die DB sollte nichts tun, wenn ich den PC nicht benutze. Ich werde das versuchen, aber ich frage mich, wie sich dies verbindet, da ich den PC schon eine Weile benutze und dies ein neues Phänomen ist.
Chris Sobolewski
Sie können den Prozess-Explorer verwenden und mit der rechten Maustaste auf svchost.exe klicken, um den Prozess zu stören. Wechseln Sie dann zur Registerkarte Dienste und finden Sie heraus, welche Dienste ausgeführt werden. Meine svhost.exe mit viel Speicher hostet 2 Dienste BFE und MpsSvc. Sehen Sie, welche anderen Prozesse Sie dort haben. Es scheint auch eine Menge möglicher Optionen zu geben, wenn svhost Speicher verliert . Es kann alles Mögliche sein, von undichten Diensten bis hin zu problematischen Grafiktreibern. Können Sie versuchen, Ihre Treiber auf die neuesten Versionen zu aktualisieren?
MadBoy
2

Mit Process Explorer können Sie den scvhost.exeProzess mit dem Mauszeiger bewegen, um zu sehen, welche Dienste dort gehostet werden.

Wenn Sie dies im Detail beheben müssen, kann Microsoft Sysinternals VMMap Sie dabei unterstützen.
Hier können Sie überprüfen, welcher Speicher zugeordnet ist, und den bestimmten Dienst identifizieren ...

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Tamara Wijsman
quelle
Dies scheint hilfreich zu sein. Verfügt es über eine Protokollierungsoption, sodass ich sie stehen lassen und weggehen kann, um zu sehen, was während meiner Abwesenheit passiert ist?
Chris Sobolewski
@ ChrisSobolewski: Ich denke nicht, dass dies anders ist als die Zeitachse oder dass Process Explorer im Hintergrund ausgeführt wird ...
Tamara Wijsman
0

Ich habe das gleiche Problem - anscheinend ist es ein Speicherverlust in der Seitenleiste, der durch IE9 verursacht wird. Hier gibt es mehr Infos.

Derzeit sind mir zwei Korrekturen bekannt: Es gibt einen Hack, der die Sidebar von Zeit zu Zeit neu startet, und eine dauerhaftere Lösung ist die Deinstallation von IE9.

Domchi
quelle