Nun, als erstes, bevor ich auf eine detailliertere Antwort gehe. In Ihrem ersten Screenshot liegt Ihr nicht ausgelagerter Pool (eine Art von Kernel-Speicherbelegung) bei 1,3 GB. Das kommt mir ungewöhnlich hoch vor, vor allem 30 Minuten nach dem Booten. Ich schätze, ich konnte sehen, dass der NP-Pool nach längerem Gebrauch oder mit einem Programm, das wie ein Sieb leckte, so hoch wurde. Im Gegensatz dazu ist mein NP-Pool normalerweise zwischen 100 und 200 MB groß und mein ausgelagerter Pool kann bis zu 400 oder 500 MB groß sein (und das, nachdem mein System wochenlang ohne Neustart ausgeführt wurde).
Sie können einige zusätzliche Spalten im Task-Manager aktivieren, indem Sie mit der rechten Maustaste auf die Spaltenüberschriften klicken und Spalten auswählen. Sie sollten hinzufügen Working Set (private)
, Working Set (shared)
, Commit
, und NP Pool
. Ich überprüfe alle Prozesse aller Benutzer und überprüfe, ob einer von ihnen einen NP-Pool von mehr als etwa 256 KB hat. Wenn Sie irgendwelche sehen, insbesondere solche, die wesentlich höher sind, könnte dies die Ursache des Problems sein oder zumindest einen Teil davon.
Ihr gesamter Arbeitssatz, die Menge an physischem Speicher, die von einem Prozess verwendet wird, ist die Kombination aus privatem und gemeinsamem Arbeitssatz (WS). Private ist normalerweise für die meisten Prozesse größer, es kann jedoch auch einige geben, die eine größere Menge gemeinsam genutzter WS verwenden. Die zwei sollten normalerweise zum gesamten WS summieren. Festschreiben ist der Betrag Ihres Arbeitssatzes, der für den Sicherungsspeicher festgeschrieben wurde (in den meisten Fällen die Windows-Auslagerungsdatei). Hintergrundanwendungen weisen häufig ein höheres Commit als WS auf, was darauf hinweist, dass ein Großteil ihres ausgelagerten Pools aus dem Arbeitsspeicher in Ihre Auslagerungsdatei ausgelagert wurde (was für Desktopanwendungen, die minimiert und für eine Weile nicht verwendet wurden, ziemlich normal ist).
Der nicht ausgelagerte Pool ist ein Speicher, der nicht aus dem physischen Speicher ausgelagert werden kann und wird. Dies ist effektiv Ihre permanente minimale physische Speicherauslastung. Der NP-Pool-Speicher enthält häufig Programmcode und wichtige Abschnitte, die sich im physischen Speicher befinden müssen, um korrekt oder sicher zu funktionieren, spezielle Heaps usw. Bei mehr als 60 Prozessen mit 256 KB NP-Pool-Speicher ist der physische Arbeitsspeicher auf ein Minimum beschränkt wäre rund 15.360 KB. In den meisten Fällen verfügen eine oder zwei Apps über einen 256-KB-NP-Pool, während die meisten weniger, häufig erheblich weniger (oder gar keinen) haben. Es ist sehr unwahrscheinlich, dass das System jemals die Gesamtheit aller funktionierenden Prozesse auslagert. Erwarten Sie also nicht, dass die Speichernutzung jemals so niedrig wird.
Schließlich geht es darum, mehr Speicher zu haben, um zu vermeiden, dass Daten auf und von einem erweiterten Speicherplatz (Auslagerungsspeicher, Auslagerungsdatei) auf einer physischen Festplatte ausgegeben werden müssen. Paging ist ein Prozess, bei dem Blöcke des zugewiesenen physischen Speichers verschoben, einige auf die Festplatte verschoben und andere von der Festplatte in den physischen Speicher verschoben werden. Paging ist, um es einfach zu halten, höchst unerwünscht. Es ist per se nicht "schlecht", aber es kann eine echte Beeinträchtigung der Leistung sein, wenn es zu häufig auftritt. Der ultimative Punkt für die Erhöhung des gesamten physischen Arbeitsspeichers in einem System besteht darin, mehr Prozessen zu ermöglichen, einen größeren Teil ihres Commits im physischen Speicher zu behalten (größere Arbeitsmenge). Der Speicherverbrauch ist kein Problem, und wenn mehr ausführende Prozesse mehr Speicher belegen, sind in der Regel die Gesamtsystemleistung und die Leistung aktiver Prozesse höher.
Windows verwaltet den Arbeitsspeicher für Sie und paginiert automatisch Daten in und aus dem Arbeitsspeicher in die Auslagerungsdatei für Sie. Wenn Sie einen Prozess ausführen, der 9 GB Arbeitsspeicher benötigt und Ihr System bereits 4 GB (von 12 GB) verwendet, ermittelt das System automatisch, welche Prozesse keinen sofortigen Zugriff auf ihren gesamten Arbeitssatz benötigen, und es werden einige oder alle Seiten angezeigt von ihrem ausgelagerten Pool zu tauschen, um diese zusätzlichen 1GB freizugeben. Wenn Ihr großer Prozess irgendwann mehr Speicher benötigt, wird die Anzahl der anderen Prozesse durch Windows weiter reduziert, bis genügend freier Speicherplatz für die Zuweisung des neu angeforderten Blocks vorhanden ist. Ihr großer Prozess könnte schließlich den gesamten verfügbaren Speicher mit Ausnahme des NP-Pools und möglicherweise einen zusätzlichen minimalen Overhead für die regelmäßige Ausführung von Prozessen verbrauchen, bei denen Windows nicht mehr Arbeitsspeicher freigibt (i. e. Sie weisen ausstehende Seitenfehler auf, die Windows andernfalls aus dem physischen Speicher auslagern würde. Sie können jedoch nicht verschoben werden, da sie angefordert werden.)
Wenn ein Prozess mehr Speicher benötigt, als er zugreifen darf (32-Bit-Prozesse können in der Regel auf 2 GB zugreifen, und einige weniger als 4 GB mit erweiterten Techniken, während 64-Bit-Prozesse in der Regel auf jeweils etwa 48 GB Speicher zugreifen können), versuchen es Windows manchmal seinen Speicher mit Swap Space zu virtualisieren. Wenn eine 32-Bit-App ihren maximal zulässigen Speicherplatz von 2 GB verwenden möchte, jedoch nur 1,2 GB verfügbar sind, reserviert Windows die gesamten 2 GB in der Auslagerungsdatei und verschiebt die prozesseigenen Daten nach Bedarf in die Auslagerungsdatei und aus dieser heraus unterstütze die Speichernutzung der App. In diesem Fall scheint die Gesamtbelegung des "Speichers" größer zu sein als der verfügbare physische Speicher, wenn Total Commit verwendet wird. Total Commit wird normalerweise die maximale Größe der gesamten Auslagerungsdatei erreichen, die, wenn sie vom System verwaltet wird, normalerweise das 2-3-fache des physischen Arbeitsspeichers beträgt. In deinem Fall,
Ein letzter Punkt. Sie sagten in Ihrer Antwort, dass Sie 16 GB RAM hatten, während der Task-Manager nur 12 GB RAM sieht. Eins von zwei Dingen hier. Entweder hat Ihr System wirklich nur 12 GB RAM, oder einer Ihrer Sticks registriert sich nicht richtig. Wenn ein RAM-Stick (ich gehe davon aus, dass es sich um 4 x 4-GB-Sticks handelt) schlecht ist, möglicherweise nicht richtig in Ihrem Motherboard sitzt oder ein Problem mit der Speichererkennung auf Ihrem Motherboard vorliegt.
Um zu überprüfen, ob es das letztere ist, sollten Sie zuerst Ihr Motherboard-BIOS auf die neueste Version aktualisieren. Ich hatte ein ähnliches Problem ... meine sechs Tripple-Channel-DDR3-RAM-Sticks (6 x 2 GB) waren alle gut, da sie einzeln getestet wurden ... aber mein Motherboard entschied sich nach dem Zufallsprinzip, nicht ein oder zwei von ihnen zu zählen, Ich habe oft nur 8 GB RAM übrig. Ein BIOS-Update hat das Problem behoben, und ich habe jetzt zuverlässigen Zugriff auf alle 12 GB meines Speichers.