Ich habe mir xperf-Spuren von mehreren Benutzern angesehen und hier beginnt die Funktion ntoskrnl.exe!SmKmStoreHelperWorker
des Kernels, Speicher zu allozieren.
(Zum Vergrößern auf das Bild klicken)
Ich habe dies auf sysinternals entdeckt.
Ich habe bei Microsoft nachgefragt, und die Antwort ist, dass dies absichtlich so ist. Es hängt mit der Komprimierung des Systemspeichers zusammen.
In der Ankündigung von Windows 10 Build 10525 hat Microsoft es ein wenig erklärt :
In Windows 10 haben wir ein neues Konzept im Speichermanager hinzugefügt, das als Komprimierungsspeicher bezeichnet wird und eine speicherinterne Sammlung von komprimierten Seiten ist. Dies bedeutet, dass der Speichermanager, wenn er Speicherdruck spürt, unbenutzte Seiten komprimiert, anstatt sie auf die Festplatte zu schreiben. Dies reduziert die Menge an Speicher, die pro Prozess verwendet wird, und ermöglicht es Windows 10, mehr Anwendungen gleichzeitig im physischen Speicher zu halten. Dies trägt auch zu einer besseren Reaktionsfähigkeit in Windows 10 bei. Der Komprimierungsspeicher befindet sich in der Arbeitsgruppe des Systemprozesses. Da der Systemprozess den Speicher im Speicher hält, vergrößert sich sein Arbeitsset genau dann, wenn Speicher für andere Prozesse verfügbar gemacht wird. Dies ist im Task-Manager sichtbar und der Grund, warum der Systemprozess mehr Speicher zu verbrauchen scheint als frühere Versionen.
Anstatt also Speicherdaten in die Auslagerungsdatei zu schreiben, komprimiert er sie. Und dieser komprimierte Speicher wird im Systemprozess angezeigt.
Microsoft hat auch weitere Details im Inside Hub veröffentlicht. Winbeta hat einen Artikel erstellt der weitere Details enthält.
Anscheinend hat der Grund dafür damit zu tun, dass Microsoft UWP-Apps suspendiert, wenn sie nicht im Vordergrund sind, ganz ähnlich wie bei einigen Smartphone-OS-Verwaltungen. Windows 8-Benutzer verstanden (vielleicht auch nicht), dass Apps, die nicht auf dem Bildschirm waren, nicht ausgeführt wurden, bis der Benutzer wieder zu ihnen wechselte. Der “Alles-oder-Nichts”-Ansatz wird mit Windows 10 aktualisiert, indem eine Schicht zwischen der Auslagerungsdatei und der normalen Auslagerungsaktivität eingeführt wird. Jetzt bestimmt MM bei Speicherproblemen, welche Seiten in die modifizierte Liste verschoben werden sollen, und zwar in einem Prozess, der Trimming genannt wird.** Die modifizierte Liste ist eine sekundäre Liste von Auslagerungsdateien, die eine Liste von Standby-Auslagerungsdateien sichert. Eine Sicherungsliste wird für den Fall erfasst, dass ein anderer Prozess Speicher aus der Standby-Liste zurückfordert und der ursprüngliche Prozess nach seiner Seite sucht. Anstatt alles oder nichts zu tun, komprimiert Windows 10 MM unbenutzte Seiten, anstatt sie auf die Festplatte zu schreiben. Da weniger geschrieben wird, sollte das Ergebnis weniger Festplattenoperationen sein - dank der Komprimierung - und es können nun mehr Daten im Speicher abgelegt werden.
Laut dem Windows-Team, “ in der Praxis nimmt der komprimierte Speicher etwa40% der unkomprimierten Größe ein, und als Ergebnis eines typischen Geräts, das eine typische Arbeitslast ausführt, schreibt Windows 10 Seiten nur 50% so oft auf die Festplatte wie frühere Versionen des Betriebssystems. ” Wenn alles nach Plan läuft, könnten Windows-Benutzer kürzere Wartezeiten für alle Geräte sowie eine längere Lebensdauer auf Systemen erleben, die Flash-basierte Festplatten haben.
Dekomprimierung ist auch etwas, das Windows 10 gut machen soll. Windows 10 nutzt die Kombination aus Parallelisierbarkeit und sequenziellem Lesen, um einmal aufgerufene Seiten im Speicher zu erzeugen. Die neue Dekomprimierung sollte zu einem schnelleren Erlebnis führen, da Windows 10 die Daten gleichzeitig dekomprimiert und sie parallel mit mehreren CPUs liest. Ältere Windows-Versionen haben sich aufgrund der Übertragungsraten zwischen den Festplatten möglicherweise träge angefühlt.
Microsoft hat auch ein Video auf Channel9 veröffentlicht, das das Feature erklärt.
Speicherkomprimierung in Windows 10 RTM https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
In diesem Video hat Mehmet Iyigun einige Zeit damit verbracht, zu diskutieren, warum der Systemprozess in Windows 10 etwas mehr Speicher benötigt und warum das eine gute Sache ist. Ein Prozess, der mehr Speicher beansprucht, hört sich nach einer schlechten Sache an - das heißt, bis ich mehr über Speicherverwaltung, Paging und Hard-/Soft-Page-Fehler verstanden habe. Es stellte sich heraus, dass das Betriebssystem einige clevere Optimierungen vornimmt, die es den Prozessen erlauben, einen Teil des Speichers abzuschneiden, ihn aber nicht unbedingt auf die Festplatte auszulagern. Der Speicher bleibt nicht nur im RAM erhalten, sondern wird auch komprimiert, wodurch harte Auslagerungsfehler seltener vorkommen. Das Ergebnis sollte für ein schnelleres Arbeiten sorgen.
In den letzten TH2-Builds hat Microsoft die Beschreibung im Task-Manager aktualisiert und zeigt nun auch an, dass der SYSTEM-Prozess das compressed memory
hostet:
, um Verwirrungen über die “hohe” Nutzung zu vermeiden.
Im Window 10 Anniversary Update, das im August 2016 veröffentlicht wurde, hat Microsoft die Komprimierung in einen Pseudo-Prozess namens Memory Compression
extrahiert, um die Benutzer nicht mehr zu verwirren, warum SYSTEM einen so hohen Speicherverbrauch hat:
Aber es sieht so aus, als ob Taskmgr diesen Prozess nicht anzeigt, nur ProcessExplorer/ProcessHacker sind in der Lage, ihn anzuzeigen. Der Taskmgr zeigt die Menge des komprimierten Speichers nur in der Übersicht an:
Wenn Sie mit dem Mauszeiger über das Diagramm des verwendeten Speichers im Taskmgr fahren, sehen Sie einen Tooltip, der die Menge der komprimierten Daten anzeigt.
In dieser Demo werden 388MB auf 122MB komprimiert, so dass 267MB durch die Komprimierung eingespart werden.