J'ai examiné des traces xperf de plusieurs utilisateurs et ici la fonction ntoskrnl.exe!SmKmStoreHelperWorker
du noyau commence à allouer de la mémoire.
(Cliquez sur l'image pour agrandir)
J'ai découvert cela sur Sysinternals.
J'ai posé la question à Microsoft et la réponse est que c'est intentionnel. Cela est lié à la compression de la mémoire système.
Dans l'annonce de la version Windows 10 Build 10525, Microsoft l'a expliqué un peu:
Dans Windows 10, nous avons ajouté un nouveau concept dans le gestionnaire de mémoire appelé un magasin de compression, qui est une collection en mémoire de pages comprimées. Cela signifie que lorsque le gestionnaire de mémoire ressent une pression sur la mémoire, il va compresser les pages inutilisées au lieu de les écrire sur le disque. Cela réduit la quantité de mémoire utilisée par processus, permettant à Windows 10 de maintenir plus d'applications en mémoire physique en même temps. Cela améliore également la réactivité de Windows 10. Le magasin de compression vit dans l'ensemble de travaux du processus Système. Comme le le processus système contient le magasin en mémoire, son ensemble de travail s'agrandit exactement lorsque de la mémoire est libérée pour d'autres processus. Ceci est visible dans le Gestionnaire de tâches et la raison pour laquelle le processus Système semble consommer plus de mémoire que les versions précédentes.
Donc au lieu d'écrire les données mémoire dans le fichier d'échange, il les compresse. Et cette mémoire compressée est affichée dans le processus Système.
Microsoft a également publié plus de détails dans l'inside hub. Winbeta a créé un article qui inclut plus de détails.
Apparemment, la raison pour laquelle cela s'est produit est que Microsoft a choisi de suspendre les applications UWP lorsqu'elles n'étaient pas au premier plan, très similaire à la gestion de certains OS de smartphones. Les utilisateurs de Windows 8 ont compris (peut-être pas) que si les applications n'étaient pas à l'écran, elles ne s'exécuteraient pas jusqu'à ce que l'utilisateur revienne vers eux. L'approche 'tout ou rien' est mise à jour avec Windows 10 introduisant une couche entre le fichier d'échange et l'activité de pagination normale. Maintenant, lorsqu'il est confronté à des problèmes de pression sur la mémoire, MM déterminera quelles pages doivent être déplacées vers la liste modifiée du dans un processus appelé trimming. La liste modifiée est une liste secondaire de fichiers de pagination sauvegardant une liste de fichiers de pagination en veille. Une liste de sauvegarde est capturée au cas où la mémoire serait récupérée de la liste en veille par un autre processus, et le processus d'origine vient chercher sa page. Au lieu de tout ou rien, Windows 10 MM va compresser les pages inutilisées plutôt que de les écrire sur le disque. Avec moins d'écriture, le résultat devrait être moins d'opérations de disque - grâce à la compression - et maintenant plus de données peut être stocké en mémoire.
D'après l'équipe Windows, "En pratique, la mémoire compressée occupe environ 40 % de la taille décompressée, et en conséquence d'un périphérique typique exécutant une charge de travail typique, Windows 10 écrit des pages sur le disque seulement 50 % aussi souvent que les versions précédentes du système d'exploitation." Si tout se passe comme prévu, les utilisateurs de Windows pourraient avoir des temps d'attente réduits pour tous les appareils ainsi qu'une durée de vie prolongée sur les systèmes qui ont des disques durs à base de flash.
La décompression est également quelque chose pour laquelle Windows 10 est bien conçu. Windows 10 utilise la combinaison de parallélisme et lectures séquentielles pour produire des pages en mémoire une fois appelées. La nouvelle la décompression devrait se traduire par une expérience plus rapide car Windows 10 est décompresser les données et les lire en parallèle en utilisant plusieurs CPU. Les versions plus anciennes de Windows peuvent sembler lentes en raison des taux de transfert entre le disque.
Microsoft a également publié une vidéo sur channel9 qui explique la fonctionnalité.
Compression de mémoire dans Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
Dans cette vidéo, Mehmet Iyigun a passé du temps à expliquer pourquoi le processus Système dans Windows 10 prend un peu plus de mémoire et pourquoi c'est une bonne chose. Un processus prenant plus de mémoire peut sembler être une mauvaise chose - jusqu'à ce que j'en apprenne davantage sur la gestion de la mémoire, la pagination et les fautes de page dures / molles. Il s'avère que le système d'exploitation effectue des optimisations astucieuses qui permettent à vos processus de réduire une partie de la mémoire sans nécessairement le paginer sur le disque. Non seulement la mémoire est-elle préservée en RAM, mais elle est également compressée - rendant les fautes de page dures plus une occurrence rare. Les résultats devraient donner une expérience plus réactive.
Dans les dernières versions TH2, Microsoft a mis à jour la description dans le gestionnaire de tâches et montre maintenant que le processus SYSTEM héberge la mémoire compressée
:
pour éviter les confusions concernant l'utilisation "élevée".
Dans la mise à jour de l'anniversaire de Windows 10 publiée en août 2016, Microsoft a extrait la Compression en la montrant désormais dans un pseudo-processus appelé Memory Compression
pour ne plus dérouter les utilisateurs sur la raison pour laquelle SYSTEM a une utilisation de mémoire aussi importante :
Mais il semble que Taskmgr ne montre pas ce processus, seuls ProcessExplorer/ProcessHacker peuvent le montrer. Le Taskmgr montre uniquement la quantité de mémoire compressée dans l'ensemble :
Si vous survolez le graphique de mémoire utilisée dans Taskmgr, vous verrez une info-bulle montrant la quantité de données compressées.
Dans cette démo, 388MB sont compressés à 122MB, donc 267MB sont économisés avec la compression.