RamMap «Empty standby list» accélère considérablement le PC. Y a-t-il une meilleure manière de faire cela?


24

De nombreuses personnes apprennent comment fonctionne la mise en cache du gestionnaire de mémoire Windows en lisant les livres blancs de Microsoft, etc. Cependant, il existe relativement peu de documents décrivant les problèmes de performances du monde réel (lenteur) liés aux fichiers mappés et aux listes de secours très volumineux / en croissance.

J'ai un PC Win7 64 bits (8 Go de RAM) qui fait office de serveur. Je ne peux plus y ajouter de mémoire. Il dispose d'un tas de tuners TV qui enregistrent / écrivent plusieurs fichiers mpeg2 gigantesques simultanés (au moins 3-8 Go ​​chacun) sur un disque dur 24/7. Selon la façon dont mon ordinateur enregistre des émissions de télévision, après 1 à 3 jours, mon ordinateur devient lent.

En regardant simplement le Gestionnaire des tâches de Windows, il semble que je n'ai pas beaucoup de grandes applications ouvertes; et, beaucoup de "mémoire disponible". Même si je ferme tous les processus actifs, le PC reste lent. Cependant, lorsque j'utilise RamMap, je peux voir que ces gros fichiers mpeg2 deviennent des fichiers mappés dans la liste de veille active; ce qui au fil du temps rend mon PC très lent. Si je sélectionne "Liste d'attente vide" dans RamMap, mon PC devient immédiatement extrêmement réactif; comme si je venais de le redémarrer. Je ne peux rien faire d'autre pour remédier à la lenteur. En fait, le PC ne se remettra jamais de cette lenteur à moins de vider la liste de secours ou de redémarrer.

J'ai un utilitaire de ligne de commande, EmptyStandbyList.exe, que j'ai trouvé qui purge silencieusement la liste de secours au lieu d'avoir à le faire dans l'interface graphique de RamMap. Cependant, malheureusement, il purge également les petits éléments de la liste de veille qui sont très utiles à des fins de performances pour rester dans la liste de veille.

Lors d'une recherche sur Google, j'ai trouvé d'autres personnes qui ont presque le même problème que moi. Cependant, la plupart de leurs questions restent sans réponse; sans réelle explication de pourquoi cela se produit; et, aucun moyen définitif de résoudre le problème autre que la technique "Empty standby list".

J'ai vu des mentions d'un utilitaire / service MS appelé "Dynamic Cache"; mais je ne sais pas si ça guérit spécifiquement ce que je veux En outre, la version Win7 / Win2008 R2 de celui-ci semble être uniquement disponible via le support MS. J'ai également vu quelques utilitaires qui définissaient les "limites de cache NT min / max"; mais ceux-ci semblent être spécifiques aux ensembles de travail pour les processus, pas aux listes de secours.

J'espère que quelqu'un qui peut sortir des sentiers battus peut penser à un remède plus gracieux pour moi au lieu de devoir utiliser brutalement vider régulièrement la liste d'attente complète; et j'espère avoir une explication définitive du symptôme que moi (et d'autres personnes) voyons. La raison pour laquelle j'ai mentionné "hors des sentiers battus" est qu'il y a déjà beaucoup de gens qui aiment simplement dire comment les fichiers mappés et les priorités des listes de réserve "devraient" fonctionner sur papier; ce qui n'est pas très utile pour moi.


Je me rends compte que c'est un vieux post et que cette suggestion pourrait être difficile à tester, mais si un jour vous en avez l'occasion, vous voudrez peut-être essayer votre configuration avec une édition serveur de Windows. Il y a peut-être encore plus de différences sous-jacentes non documentées dans la façon dont un système d'exploitation serveur gère la mémoire qui fonctionnerait à votre avantage.
Je dis Reinstate Monica

Réponses:


2

La liste d'attente est le cache Superfetch et le «cache dynamique» corrige un problème différent. Le service résout un problème où le cache des métadonnées NTFS est trop élevé. Mais Stadnbylist et ce cache sont deux choses différentes. Le cache NTFS est affiché en tant que mémoire utilisée, tandis que le cache de secours contient des données, mais peut être vidé très rapidement si vous créez vraiment cette mémoire pour y stocker des données.

Sur le forum sysinternals, l'utilisateur wj32, l'auteur de Process Hacker, a créé un outil en ligne de commande qui fait ce que vous voulez:

http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769

Essayez-le s'il "résout" votre problème.


5
Cet outil de ligne de commande n'est-il pas exactement le même EmptyStandbyList.exe que l'OP mentionné dans son article, et pour lequel il veut une meilleure alternative, peut-être plus ciblée?
Karan

2
Euh ... Avez-vous lu la ligne qui commence "Cependant, malheureusement ...", et le fait qu'il veut "une cure plus gracieuse"?
Karan

4
C'est agréable de connaître des gens qui prennent le temps de lire le PO un peu plus attentivement avant de poster. Cependant, j'ai appris quelques choses que je ne connaissais pas auparavant. Il semble que la cause réelle du problème de performances soit liée au cache Superfetch; pas le cache de métadonnées NTFS. RamMap montre les deux. Je sais que sous Windows Vista, j'ai dû désactiver complètement le service Superfetch car il ne savait pas comment gérer les enregistrements TV (depuis mon application DVR); et, causait une utilisation excessive de mon disque dur. J'ai actuellement le service superfetch Win7 pour améliorer le démarrage et les applications que j'utilise en mémoire.
user22667

2
J'utilise un SSD pour ma partition de démarrage; qui ne fait que 256 Go. Je suis curieux de savoir s'il existe des paramètres dans superfetch qui résoudraient ce problème; tels que, la suppression de certains types de fichiers de superfetch? J'espère que quelqu'un qui sait comment tout cela fonctionne explique pourquoi cela se produit et propose une solution meilleure que ce que j'ai.
user22667

3
vider la liste de veille sans modifier les paramètres ratios / limites du gestionnaire de mémoire, invite simplement les fenêtres à commencer à remplir la mémoire désormais libre. Cela supprime également les éléments utiles réels qui figurent dans la liste de veille et ces deux choses réduisent la vitesse de votre machine par rapport à ce qu'elle est capable de faire.
BeowulfNode42

1

Se pourrait-il que la lenteur vienne de Windows forçant des choses à être chargées / enregistrées à partir du lecteur Swap, qu'à chaque vidéo enregistrée, la liste de veille s'allonge et avec un gros lecteur Swap, d'autres programmes (d'arrière-plan) sont maintenant poussés vers le lecteur Swap, ralentir la machine.

Si ce PC n'est utilisé que pour enregistrer des émissions de télévision, une solution pourrait être de rendre le lecteur Swap aussi petit que Windows le permet, ce qui est, je crois, de 16 Mo. Ne désactivez pas totalement le lecteur Swap, car Windows créera alors un lecteur Swap en secret.

Certains comment je ne peux pas imaginer que Windows deviendrait lent, s'il ne faisait que lire les données de la RAM, alors qu'aucun nouveau programme n'est chargé à partir du disque.

Qoute à partir du document MS http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :

"Windows 7 SuperFetch ™ fonctionne avec le gestionnaire de mémoire pour définir les priorités des pages de la liste de veille. Les pages récemment placées dans la liste de veille commencent avec une priorité élevée, qui diminue lentement avec le temps.

Si le système ne dispose pas de suffisamment de mémoire pour gérer la charge de travail, seul un petit pourcentage des pages de la liste de secours ont une priorité faible. En surveillant le nombre de pages à différentes priorités, vous pouvez déterminer si le système gagnerait à augmenter la quantité de RAM installée. "

Globalement, l'objectif est de garantir que le système peut conserver en mémoire les pages récemment référencées et disposer de suffisamment de mémoire disponible pour répondre à tout besoin de mémoire immédiat. "

Peut-être que le programme d'enregistrement TV, car il continue de fonctionner et ne s'arrête pas, a chaque page qui va à la liste de veille marquée comme la priorité la plus élevée en poussant d'autres choses, ce qui accélérerait normalement Windows. Vous pourriez penser que ces choses sont libérées lorsque la mémoire est insuffisante et / ou lorsqu'il n'y a pas de fichier Swap que Windows ne peut pas secrètement commencer à utiliser massivement le lecteur Swap, ce qui ralentit les choses. Cela suppose que les données de la liste de secours ne seront pas chargées sur le lecteur Swap.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.