Es wird zu viel Speicher verwendet

13

Ich habe mich eine Weile so gefühlt, als ich mir den Task-Manager mental ansah, um herauszufinden, wie viel physisches Gedächtnis verwendet werden sollte, und eine große Ungleichheit zu bemerken. Ich bin endlich dazu gekommen, es zu messen. Wenn man die Ergebnisse der Jobliste aufnimmt und hinzufügt, erhält man ungefähr 3,87 GB. Der Task-Manager hat mir mitgeteilt, dass 4,6 GB Arbeitsspeicher verwendet werden. Dies scheint ein großer Unterschied zu sein. Wo ist es hin?

EDIT: Also ist es klar, es wird nicht vorab abgerufen. Es wurde auch vorgeschlagen, dass es Teil des Betriebssystems ist, aber nicht Teil eines der Systemprozesse. Wenn dies zutrifft, finden Sie eine Möglichkeit, das Betriebssystem zu veranlassen, mir mitzuteilen, wie viel Speicher belegt wird. Da ich herausfinden möchte, wo die Erinnerung hingegangen ist, hilft es mir nichts, wenn ich den Unterschied betrachte.

EDIT 2: Es ist nicht das Folgende:

  1. Der Kernel
  2. Der Cache
  3. Hardware reservierter Speicher

Bild der verbrauchten Ressourcen. Nicht ganz sicher, was es tun wird, aber ... Bildbeschreibung hier eingeben

soandos
quelle
Welches Betriebssystem verwenden Sie? Sie erhalten bessere Antworten mit mehr Informationen :)
Cam Jackson
Entschuldigung siehe neues Tag :)
soandos
@soandos: Haben Sie versucht, Superfetch zu deaktivieren und neu zu starten? Macht es einen Unterschied?
user541686
Ja, ich habe es getan und nein, aber es wäre auch schön zu wissen, wie viel Speicherplatz der Prefetch benötigt.
Soandos
2
Prefetch verwendet KEINEN Speicher, sondern speichert den am häufigsten verwendeten Bytecode aus kompilierten Anwendungen. Deaktivieren Sie es nicht, da sonst die Systemleistung drastisch abnimmt.
Durchbruch

Antworten:

5

Ich empfehle, die Sysinternals Suite von Microsoft herunterzuladen . Es enthält mehrere Dienstprogramme, mit denen Sie mehr Informationen erhalten als mit dem Task-Manager. Sehen Sie sich die Dienstprogramme Process Explorer, RAMMap, VMMap und Process Monitor an. Um die meisten Informationen zu erhalten, müssen Sie möglicherweise einige Einstellungen vornehmen, um die angezeigten Informationen zu ändern.

Da Sie sich auch für Windows-Speicher interessieren, finden Sie hier eine Reihe von Blog-Posts von Mark Russinovich , einem der Entwickler / Gründer von Sysinternals. Dies hilft, die von den Dienstprogrammen bereitgestellten Informationen zu verstehen.

Joe Internet
quelle
RAMMap scheint mir mitzuteilen, dass der Task-Manager die gesamte RAM-Auslastung um ca. 100 MB überbewertet. Laut der Liste der Arbeitsspeicher, die ich mithilfe der Jobliste ziehen kann, ist RAMMap auch um ca. 200 MB überbewertet (Jobliste +200 = RAMMap, RAMMap + 100) = taskmanger)
soandos
1
Ich bin nicht sicher, was Sie sehen, und ich bin nicht auf einem Windows-Computer atm, um es zu untersuchen. Wenn Sie jedoch noch tiefer gehen möchten, fragen Sie in den Sysinternals-Foren nach. Es gibt einige sehr kluge Leute, die Windows-Interna sehr mögen. Sie kennen die Feinheiten der Windows-Speicherverwaltung besser.
Joe Internet
Als Referenz für die Zukunft finden Sie hier Mark Russinovichs TechEd 2011-Vorträge zur Windows-Speicherverwaltung: channel9.msdn.com/Events/TechEd/NorthAmerica/…
Joe Internet,
Diese "Antwort", obwohl akzeptiert, beantwortet die Frage nicht! Es werden lediglich Tools und Lesetexte zur Untersuchung vorgeschlagen.
Jamie Hanrahan
8

Windows 7 verwendet ungenutzten Speicher, um Dinge vorab zu zwischenspeichern und die Ausführung zu beschleunigen. Wenn Sie diesen Speicher benötigen, wird er freigegeben.

Es ist ein Feature, kein Bug;)

Von technet

Nachdem Sie ein Windows Vista-System eine Weile verwendet haben, wird auf der Seite "Leistung" des Task-Managers eine niedrige Zahl für den Indikator "Freier physischer Speicher" angezeigt. Dies liegt daran, dass SuperFetch und das standardmäßige Windows-Caching den gesamten verfügbaren physischen Speicher zum Zwischenspeichern von Datenträgerdaten nutzen. Wenn Sie beispielsweise den Task-Manager beim ersten Start sofort ausführen, sollten Sie feststellen, dass der Wert für den freien Speicher mit steigender Anzahl an zwischengespeicherten Speichern abnimmt. Oder wenn Sie ein speicherhungriges Programm ausführen und es dann beenden (einer der Freeware- „RAM-Optimierer“, die große Mengen an Speicher zuweisen und dann den Speicher freigeben, funktioniert) oder einfach eine sehr große Datei kopieren, wird die freie Nummer verwendet steigen und das Diagramm für die physische Speichernutzung sinkt, wenn das System den freigegebenen Speicher zurückerhält. Mit der Zeit füllt SuperFetch den Cache jedoch mit den Daten neu auf, für die der Arbeitsspeicher erschöpft ist.

Geselle Geek
quelle
1
1) Warum ist das nicht im Speicher für diesen Prozess aufgeführt? 2) Woher weiß ich, dass dies hier der Fall ist?
Soandos
Ich glaube, Superfetch ist unter Svchost. Es könnte als Kernel-Speicher gezählt werden. Sie können versuchen, Superfetch zu aktivieren und zu deaktivieren, um dies zu überprüfen.
Geselle Geek
Es hat nichts getan.
Soandos
Der von Superfetch verwendete Speicher befindet sich in der Liste der Standby-Seiten und wird als Teil von "Verfügbar" gezählt. Es wird nicht als "in Verwendung" gezählt, da es wie alles andere in der Standby-Liste und auch in der Liste "Frei" und "Null" erneut verwendet (aus der Standby-Liste entfernt und in einen Prozess eingefügt) werden kann.
Jamie Hanrahan
5

Die Zahlen, die Sie sehen, sind völlig ungenau und sollten nur als Anhaltspunkt genommen werden.

Ein Betriebssystem ist eine äußerst komplexe Einheit, und ein einfaches Programm wie der Task-Manager kann niemals die gesamte Nutzung erfassen. Viele Teile davon sind im Benutzermodus, unter dem es ausgeführt wird, einfach nicht verfügbar. Einige der Elemente, auf die nicht zugegriffen werden kann oder die einfach keiner "Aufgabe" zugeordnet werden können, sind die Hardwaresegmentierungstabellen, Zuweisungen von gemeinsam genutztem Speicher, von Kernel zugewiesener Speicher, Zuweisungen von Seitenspeicher, Gerätespeicher und vieles mehr.

Weitere Erläuterungen finden Sie unter Wie interpretiere ich die Registerkarte Leistung des Task-Managers?, aber ich zitiere diesen Teil:

Was erwarten Sie von einem Programm, das sich "Task-Manager" nennt? Im Betriebssystemkern gibt es nichts, was als "Task" bezeichnet wird - das Betriebssystem verfügt über "Prozesse" und "Threads". DOS hatte "Aufgaben". Die Intel-Hardware verfügt über "Task" -Strukturen, die vom Betriebssystem jedoch nicht verwendet werden, da dies schneller von selbst erledigt werden kann.

Der Task-Manager ist ein sehr altes Windows-Programm, hat Probleme, sogar Funktionen zu Diensten zuzuweisen, und die angezeigten Zahlen sollten mit einer großen Prise Salz genommen werden. Es fehlen wahrscheinlich große Speicherbereiche, die nicht gezählt oder keiner "Aufgabe" zugeordnet werden können.

Harrymc
quelle
Mit welchem ​​Programm soll ich das herausfinden? In PS Task Mangager ist der Kernel-Speicher aufgeführt.
Soandos
1
Es gibt kein Programm, das Ihnen ALLE Informationen gibt. Der Task-Manager gibt einige Informationen und eine Annäherung an, der Geräte-Manager kann Informationen zum Gerätespeicher und WinObj Informationen zu Speicherobjekten anzeigen . Die beste Quelle ist der Ressourcenmonitor, der auf der Registerkarte "Leistung" des Task-Managers (und anderswo) aufgerufen wird und den aktuellen Task-Manager ersetzt.
Harrymc
Der Ressourcenmanager gibt eine Nummer innerhalb von 15 des Task-Managers an.
Soandos
Diese sehen aus wie die einzigen Zahlen, die Sie über die Windows-Oberfläche erhalten können. Sie sind nicht präzise, ​​aber viel besser als nichts. Sie können zur Fehlerbehebung verwendet werden (was ich sehr oft mache), aber erwarten Sie nicht, dass sie alles enthalten.
Harrymc
Die Vorstellung, dass der Task-Manager ein "sehr altes Windows-Programm" ist, ist albern. Es ist mit jeder Version des Betriebssystems wie so ziemlich alles andere aktualisiert. Was "die einzigen Zahlen, die Sie bekommen können" betrifft, haben Sie den Systemmonitor nicht verwendet?
Jamie Hanrahan
3

Wie Sie vielleicht bemerkt haben, kann der Task-Manager einen vereinfachten Überblick über die Auswirkungen der meisten Anwendungen auf Ihr System geben, lässt jedoch zu wünschen übrig. Wenn Sie wirklich in Caches im RAM usw. graben möchten, müssen Sie in den Systemmonitor gelangen. Sie müssen einige Arbeiten ausführen, um einen Satz von Systemzählern zur Überwachung Ihres Systems zu erstellen.

Sie können dorthin gelangen, indem Sie compmgmt.msc oder eine Windows-Suche nach "Computerverwaltung" ausführen. Auf der linken Seite sehen Sie einen Leistungsbaum, den Sie erweitern und durchsuchen können.

Hier finden Sie eine Referenz für einige der verfügbaren Tools: http://technet.microsoft.com/en-us/library/cc749249.aspx

Dustin G.
quelle
Obwohl ich sehe, dass es ein sehr cooles Tool ist, das eine Menge Dinge tun kann (wie die Tatsache belegt, dass es eine Menge Zähler im Speicher gibt, habe ich keine Ahnung, wonach ich suche. Irgendwelche Ideen?
soandos
Außerdem bleibt die Option zum Hinzufügen eines Zählers in der Regel auf meinem Bildschirm, und ich muss die Auflösung manuell hin und her ändern, um sie zu beheben (Aktualisierung funktioniert nicht). Nicht deine Schuld, weiß ich.
Soandos
3

Der Speicher wird wahrscheinlich für den Kernel verwendet. Mit Process Explorer können wir eine viel detailliertere Aufschlüsselung des Systemspeichers sehen:

Kernel-Speicherinformationen

Hier habe ich die vom Kernel belegte Speicherkapazität (Paged WS + Nonpaged) oder eine Speicherkapazität von ca. 300 MB hervorgehoben. Dies ist auf einem frisch gestarteten System mit nur einem Webbrowser und ein paar anderen Anwendungen möglich, obwohl mein Heimsystem unter hoher Last leicht 500 MB oder sogar 700 MB Kernelspeicher kaputt macht.

Darth Android
quelle
Ich habe mir das angeschaut, und das gibt nicht genug. Trotzdem danke.
Soandos
Fragen Sie nach dem Unterschied zwischen den Commit- und den Physical Memory-Nummern?
Darth Android
Nein, ich frage mich, warum ich unterschiedliche Zahlen erhalte, wenn ich verschiedene Tools verwende, mit denen ich die gleichen Zahlen erhalten soll.
Soandos
2

@soandos, hast du berücksichtigt, wie viel Speicher das Video abruft? Es ist sehr wahrscheinlich, dass das Video 0,73 GB RAM zieht. Haben Sie eine anständige Grafikkarte auf diesem Computer? Wenn nicht, wird RAM wie folgt verwendet (soweit ich weiß). Wenn ich mich irre, meldet sich bitte jemand hier, aber ich glaube, dass dies der Effekt des Videoabrufs aus dem RAM sein könnte.

David
quelle
Ich habe ein Nvidia GTS 360M. Es ist keine großartige Grafikkarte, aber es hat ein GB Speicher.
Soandos
Welche Art von Monitor verwenden Sie mit welcher Auflösung? Erledigen Sie auch videointensive Aufgaben wie das Spielen von Spielen mit 1080p? Und welcher RAM-Typ wird von Ihrer Grafikkarte verwendet (z. B. DDR1, DDR2, DDR3, DDR5)? Ich würde es selbst nachschlagen, aber ich habe es mit einem Grafikkartenmodell von jemandem versucht und festgestellt, dass es mit ein paar verschiedenen RAM-Typen gemacht wurde ...
David
Standard mit dem Computer, 1920x1080, keine Ahnung. Gibt es eine Möglichkeit, dies einfach zu messen?
Soandos
Normalerweise steht auf der Verpackung, ich bin mir nicht sicher. Wenn Sie das genaue Kartenmodell kennen, können Sie es im Internet herausfinden. Wenn es sich nicht um eine sehr leistungsstarke Grafikkarte handelt (mit DDR2, DDR1) und Sie 1920 x 1080 mit einem großen Monitor verwenden (z. B. verwende ich zu Hause einen Samsung 46 "TOC-Fernseher als Monitor), können Sie eine CD brennen Viel Arbeitsspeicher nur für Videos ... Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, den RAM-Verbrauch Ihres Videos zu ermitteln. Ich werde mich jedoch im Moment damit befassen. Ich werde kommentieren, ob ich etwas finde oder nicht Ich möchte Ihnen so viel wie möglich helfen
David
Ich überprüfe gerade dieses Programm, um zu sehen, ob es das hat, wonach wir suchen. Es ist SiSoftware Sandra Lite 2011.2.17.47. Die Beschreibung besagt, dass es das tut, wonach wir suchen, wie viel RAM das Video verbraucht.
David
1

Der Unterschied, den Sie sehen, liegt meines Erachtens nicht darin, dass die Tools den verwendeten Speicher nicht sehen können, sondern darin, dass verschiedene Messmethoden verwendet werden. Ich kann das nicht sehr gut erklären, aber zum Glück muss ich nicht, Mark Russinovich von Sysinternals Fame hat eine sehr gute Reihe von Beiträgen zur Prozessleistung in Windows geschrieben. In den Abschnitten zu physischem und virtuellem Speicher wird erläutert, was Sie sehen.

Paxxi
quelle
Nein, das ist nicht das Problem. Mir geht es mehr um den Gesamtbetrag als um den Speicherort (RAM oder HD).
Soandos
0

Ich denke, ich habe es gelöst!

Ich bin gerade auf einen Tipp über RAMMap gestoßen und es stellte sich heraus, dass es µTorrent ist!

Nicht utorrent.exeselbst, sondern von µTorrent gemeinsam genutzte Dateien - zumindest in meinem Fall: Eine der Dateien verwendete mehr als 600 MB, eine andere mehr als 200 MB usw.

user184804
quelle
-1

Ein Teil des Speichers wird als Cache verwendet. Sobald Sie diesen Speicher benötigen, wird er automatisch freigegeben. Also kein Grund zur Sorge.

Neel Mehta
quelle
-1 Es ist nicht der Cache, der 1) getrennt gezählt wird, 2) leicht erklärt wird.
Soandos