Depuis la mise à niveau vers Windows 10, mon système consomme excessivement de RAM.
J'ai lu un peu et déterminé qu'il est probable qu'un pilote perd de la mémoire. Je me suis donc procuré le kit de pilotes Windows et suivi l'utilisation de la mémoire avec poolmon:
Cependant, je ne sais pas vraiment comment procéder à partir d’ici. L'élément étiqueté "smNp" est-il le coupable de ce problème? Comment puis-je partir de là pour identifier le conducteur?
J'ai essayé des trucs comme "C: \ Windows \ System32 \ drivers> findstr / s smnp . " Mais cela n'a donné aucun résultat. J'ai aussi jeté un œil au fichier pooltag.txt et voici la description que j'ai trouvée:
Alors oui, toute aide serait la bienvenue. Merci d'avance.
windows
memory
drivers
windows-10
memory-leaks
Nayncore
la source
la source
Réponses:
En passant par
services.msc
(via Win+R) et en désactivant Superfetch, cela résout complètement le problème. Je ne suis pas sûr si Superfetch est juste cassé à partir de maintenant ou c'est "à dessein".En outre, le fait de se débarrasser du fichier de pagination aura apparemment le même effet, mais la solution ci-dessus est un pari plus sûr .
la source
J'ai examiné les traces xperf de plusieurs utilisateurs et la fonction
ntoskrnl.exe!SmKmStoreHelperWorker
du noyau commence à allouer de la mémoire.(Cliquez sur l'image pour l'agrandir)
J'ai découvert cela sur sysinternals .
J'ai demandé à Microsoft à ce sujet et la réponse est que cela est voulu par la conception. Il est lié à la compression de la mémoire système.
Dans l'annonce de Windows 10 Build 10525, Microsoft l'expliquait un peu :
Ainsi, au lieu d'écrire des données de mémoire dans le fichier d'échange, celles-ci sont compressées. Et cette mémoire compressée est affichée dans le processus système.
Microsoft a également publié plus de détails dans le hub interne. Winbeta a créé un article qui inclut plus de détails.
Microsoft a également publié une vidéo sur channel9 qui explique la fonctionnalité.
Compression de la mémoire dans Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
Dans les dernières versions de TH2, Microsoft a mis à jour la description dans le gestionnaire de tâches et indique désormais que le processus SYSTEM héberge le
compressed memory
:pour éviter des confusions sur l'utilisation "élevée".
Dans la mise à jour d'anniversaire de Windows 10 publiée en août 2016, Microsoft a extrait la compression actuellement affichée dans un pseudo processus appelé
Memory Compression
à ne plus confondre les utilisateurs, ce qui explique pourquoi SYSTEM a une utilisation de mémoire aussi importante:Mais il semble que Taskmgr ne montre pas ce processus, seul ProcessExplorer / ProcessHacker est capable de le montrer. Taskmgr affiche uniquement la quantité de mémoire compressée dans la vue d'ensemble:
Si vous passez le curseur de la souris sur le graphique de mémoire utilisé dans Taskmgr, une info-bulle affiche le nombre de données compressées.
Dans cette démonstration, 388 Mo sont compressés à 122 Mo, donc 267 Mo sont enregistrés avec la compression.
la source
System Memory compression
J'ai trouvé un cas particulier qui entraîne une utilisation importante de la mémoire système et je voulais l'inclure au cas où cette information profiterait à quiconque.
Si vous utilisez abondamment les instantanés en volume de Microsoft (l'instantané logiciel et non l'instantané matériel), plus vous conservez d'instantanés combinés à des modifications de données volumineuses , le système consomme plus de RAM.
Normalement, la quantité de RAM utilisée pour les instantanés de volume est faible et ne sera pas remarquée, sauf si vous avez un volume géant (64 To) avec des deltas de plusieurs téraoctets entre les instantanés. Par défaut, les instantanés se suppriment simplement d'eux-mêmes si les E / S d'écriture deviennent trop élevées, mais il existe des moyens pour empêcher cela, vous permettant ainsi d'atteindre des deltas énormes.
Vous trouverez ci-dessous un cas extrême illustrant le processus système d’un serveur utilisant 13 Go de RAM. Ce serveur ne contient que deux instantanés de volume, espacés de 15 jours, avec environ 10 To de données écrites entre chaque instantané.
Le processus système ci-dessus était précédemment à 24 Go d'utilisation et les trois comportements suivants ont été observés:
Comme je soupçonnais les instantanés en volume, j'ai essayé de supprimer le plus ancien instantané qui avait instantanément fait passer l'utilisation de la mémoire système de 24 Go à 13 Go.
Dans ces circonstances, cela peut être un comportement normal, bien que je ne l’aie pas confirmé avec Microsoft. En attendant, j'ajouterai 32 Go de RAM supplémentaires à ce serveur pour gérer le temps système d'instantané.
(Remarque: il s'agit d'un serveur de sauvegarde de gros volumes fonctionnant sous Windows 2016 auquel est connecté un lecteur iSCSI SSD de 64 To. Il conserve en moyenne trois instantanés de volume à la fois, un nouveau étant créé tous les 15 jours. données écrites entre chaque instantané).
la source
Désactiver le prefetcher dans la clé regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
vous avez probablementEnable Prefetcher
une valeur de2
ou3
alors le changer en0
Ensuite, vous devez désactiver
Superfetch
dans les servicesRechercher services.msc
superfetch
Cliquez sur Rechercherproperties
puis définissez-le surdisabled
et arrêtez également le service.Je fais ces étapes et quand je joue et utilise normalement PC et le
system
processus utilise seulement 28kla source