Ho esaminato le tracce xperf di diversi utenti e qui la funzione ntoskrnl.exe!SmKmStoreHelperWorker
del kernel inizia ad allocare memoria.
(Clicca sull'immagine per ingrandire)
L'ho scoperto su sysinternals .
Ne ho chiesto a Microsoft e la risposta è che questo è di progettazione. È correlato alla compressione della memoria di sistema.
Nell'annuncio di Windows 10 Build 10525, Microsoft lo ha spiegato un po ' :
In Windows 10, abbiamo aggiunto un nuovo concetto in Memory Manager chiamato archivio di compressione, che è una raccolta in memoria di pagine compresse. Ciò significa che quando Memory Manager sente la pressione della memoria, comprime le pagine inutilizzate invece di scriverle sul disco. Ciò riduce la quantità di memoria utilizzata per processo, consentendo a Windows 10 di mantenere più applicazioni nella memoria fisica alla volta. Questo aiuta anche a fornire una migliore reattività su Windows 10. L'archivio di compressione risiede nel set di lavoro del processo di sistema.Poiché il processo di sistema mantiene l'archivio in memoria, il suo set di lavoro diventa più grande esattamente quando la memoria viene resa disponibile per altri processi. Ciò è visibile in Task Manager e il motivo per cui il processo di sistema sembra consumare più memoria rispetto alle versioni precedenti.
Quindi, invece di scrivere i dati di memoria nel file di paging, li comprime. E questa memoria compressa viene mostrata nel processo di Sistema.
Microsoft ha inoltre pubblicato ulteriori dettagli nell'hub interno. Winbeta ha creato un articolo che include maggiori dettagli.
A quanto pare, la ragione di ciò è dovuta al fatto che Microsoft ha scelto di sospendere le app UWP quando non erano in primo piano, molto simili a una gestione del sistema operativo dello smartphone. Gli utenti di Windows 8 hanno capito (forse no) che se le app non fossero sullo schermo, non funzionerebbero fino a quando l'utente non torna indietro. L'approccio "tutto o niente" viene aggiornato con Windows 10 introducendo un livello tra il file di paging e la normale attività di paging. Ora, di fronte a problemi di pressione della memoria, MM determinerà quali pagine dovrebbero essere spostate nell'elenco modificato in un processo chiamato taglio.L'elenco modificato è un elenco secondario di file di paging che esegue il backup di un elenco di file di paging in standby. Un elenco di backup viene acquisito nel caso in cui la memoria venga recuperata dall'elenco di standby da un altro processo e il processo originale viene alla ricerca della sua pagina. Invece di tutto o niente, Windows 10 MM comprime le pagine inutilizzate anziché scriverle sul disco. Con meno scrittura, il risultato dovrebbe essere un minor numero di operazioni su disco - grazie alla compressione - e ora è possibile memorizzare più dati.
Secondo il team di Windows, " In pratica, la memoria compressa occupa circa il 40% della dimensione non compressa e, a seguito di un dispositivo tipico che esegue un carico di lavoro tipico, Windows 10 scrive le pagine sul disco solo del 50% ogni volta che le versioni precedenti di il sistema operativo. "Se tutto procede secondo i piani, gli utenti di Windows potrebbero riscontrare tempi di attesa ridotti per tutti i dispositivi e durata della vita estesa su sistemi con dischi rigidi basati su flash .
La decompressione è anche qualcosa che Windows 10 è progettato per fare bene. Windows 10 utilizza la combinazione di parallelizzabilità e letture sequenziali per produrre pagine in memoria una volta chiamate. La nuova decompressione dovrebbe tradursi in un'esperienza più rapida in quanto Windows 10 sta contemporaneamente decomprimendo i dati e leggendoli in parallelo utilizzando più CPU. Le versioni precedenti di Windows potrebbero essersi sentite lente a causa delle velocità di trasferimento tra il disco.
Microsoft ha anche rilasciato un video su channel9 che spiega la funzionalità.
Compressione della memoria in Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
In questo video Mehmet Iyigun ha trascorso un po 'di tempo a discutere del perché il processo di sistema in Windows 10 sta prendendo un po' più di memoria e perché è una buona cosa. Un processo che richiede più memoria suona come una cosa negativa, fino a quando non ho capito di più sulla gestione della memoria, sul paging e sui guasti della pagina hard / soft. Si scopre che il sistema operativo sta facendo alcune ottimizzazioni intelligenti che consentono ai processi di tagliare parte della memoria, ma non necessariamente caricarla sul disco. Non solo la memoria è conservata nella RAM, ma è anche compressa, rendendo più rari gli errori di pagina. I risultati dovrebbero rendere l'esperienza più scattante.
Nelle ultime build TH2, Microsoft ha aggiornato la descrizione nel task manager e ora mostra anche che il processo SYSTEM ospita compressed memory
:
per evitare confusioni sull'uso "elevato".
Nell'aggiornamento dell'anniversario di Windows 10 che è stato rilasciato nell'agosto 2016, Microsoft ha estratto la compressione ora mostrata in uno pseudo processo chiamato Memory Compression
per non confondere più gli utenti perché SYSTEM ha un utilizzo della memoria così ampio:
Ma sembra che Taskmgr non mostri questo processo, solo ProcessExplorer / ProcessHacker sono in grado di mostrarlo. Taskmgr mostra solo la quantità di memoria compressa nella panoramica:
Passando con il mouse sul grafico della memoria utilizzata in Taskmgr, viene visualizzata una descrizione comandi che mostra la quantità di dati compressi.
In questa demo 388 MB vengono compressi a 122 MB, quindi 267 MB vengono salvati con la compressione.