J'ai regardé un ancien épisode de defrag tools, où Andrew Richards explique RAMMap ( http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-6-RAMMap )
À 24:45, il mentionne que la réaffectation des listes de veille 5-7 indique une pression mémoire sur le système. Dans les commentaires de cette émission, il le confirme à un utilisateur ayant un nouvel ordinateur portable. J'ai également regardé Mysteries of Memory Management Revealed de Mark Russinovich pour mieux comprendre ce phénomène.
Standby est considéré comme un cache, (sur les installations non-SSD de Windows 7, SuperFetch est implicitement activé, ce qui utilise les listes de standby 6 et 7 pour charger les données dans les listes de standby afin qu'elles soient prêtes).
Andrew a même montré un résumé des priorités de sa machine (25:50), qui fonctionnait depuis des semaines, qui n'avait pas de mémoire réaffectée en 5-7.
Contrairement à cette affirmation, il semble que la réaffectation 5 ne soit pas nécessaire considérée comme un problème de pression de mémoire. Vous trouverez ici quelques explications sur la réaffectation :
Que sont les régions de RAM "modifiées" et "en attente" dans Resource Monitor ?
Voici un écran de ma machine win 7 x64, avec 16 gb ram, qui a fonctionné pendant 1,5 jours, avec seulement firefox et remote desktop.
6 et 7 sont vides car SuperFetch est désactivé.
Voici une de nos machines qui faisait du traitement de données (en fait, une application tournait et mâchait des données).
Ces 800 gb réaffectés sur le 5 indiqueraient "une pression mémoire" selon l'explication d'Andrew.
Sur la base de cette déclaration, ma machine locale aurait besoin de beaucoup plus que les 16 Go de RAM et le processeur de données aurait besoin d'un "petit" peu plus. Le traitement implique l'écriture de nombreux fichiers, et l'ajout de 128 Go de mémoire vive ne serait probablement d'aucune utilité, même si les chiffres bruts réaffectés indiquent le contraire.
Alors, est-ce qu'un taux élevé de mémoire réaffectée sur la priorité 5 indique une réelle pression sur la mémoire ou est-ce que d'autres mesures sont nécessaires pour exclure d'autres problèmes ?
J'ai pu écrire un petit programme, qui est capable d'augmenter la réutilisation de la priorité 5 : Un boucle for allouer 3/4 de ram et y accéder dans au moins deux threads. Mais il s'agit d'une situation synthétisée car ma machine de dessus n'a pas eu l'impression d'avoir de la pression. Elle a lancé un scan de virus ce jour-là et firefox et remote desktop ne mangeaient pas ma ram.
Fait évident : si j'alloue 3/4 de la mémoire vive, je l'utilise, la libère, la réalloue à nouveau, etc, pas de la liste en attente est ré-utilisée pour la libération, elle va dans la liste libérée, puis dans la liste mise à zéro. Je n'ai pas testé cela avec les mappages de fichiers, qui sont beaucoup plus faciles à mettre en cache sous forme de blocs de mémoire arbitraires.