web-dev-qa-db-fra.com

RamMap "Liste de réserve vide" accélère considérablement le PC. Y a-t-il une meilleure manière de faire cela?

De nombreuses personnes sont informées du fonctionnement de la mise en cache du gestionnaire de mémoire Windows en lisant des livres blancs Microsoft, etc.

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 a 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. En fonction de l’occupation des enregistrements sur les émissions de télévision de mon ordinateur, mon ordinateur devient lent au bout de 1 à 3 jours.

En regardant simplement le Gestionnaire des tâches Windows, il apparaît que je n'ai pas beaucoup d'applications volumineuses ouvertes; et beaucoup de "mémoire disponible". Même si je ferme tous les processus actifs, le PC reste lent. Cependant, lors de l'utilisation de RamMap, je constate que ces gros fichiers mpeg2 deviennent des fichiers mappés dans la liste de veille active; qui au fil du temps rendent mon PC très lent. Si je sélectionne "Liste de veille vide" dans RamMap, mon PC devient immédiatement extrêmement réactif; comme si je venais de le redémarrer. Il n'y a rien d'autre que je puisse faire pour remédier à la morosité. En fait, le PC ne récupérera jamais de cette lenteur à moins de vider la liste de veille ou de redémarrer.

J'ai un utilitaire de ligne de commande, EmptyStandbyList.exe, que j'ai trouvé qui purge la liste de réserve au lieu de le faire dans l'interface graphique de RamMap. Cependant, malheureusement, il supprime également les éléments plus petits de la liste de veille qui sont très utiles pour la performance afin de rester dans la liste de veille.

En cherchant 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 véritable explication de la raison pour laquelle cela se produit; et, aucun moyen définitif de résoudre le problème autre que la technique de "liste vide en attente".

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

J'espère que quelqu'un qui sait sortir des sentiers battus peut penser à un remède plus gracieux pour moi au lieu que je doive utiliser brutalement la liste de réserve vide régulièrement. et espérons avoir une explication définitive sur le symptôme que je vois (et d'autres personnes). La raison pour laquelle j'ai mentionné "hors-la-boîte", c'est parce qu'il y a déjà beaucoup de gens qui aiment simplement réciter comment les fichiers cartographiés et les priorités de la liste d'attente devraient "fonctionner" sur papier; ce qui n'est pas très utile pour moi.

24
user22667

La liste de veille est le cache Superfetch et le "cache dynamique" corrige un problème différent. Le service résout un problème où le cache de métadonnées NTFS est trop élevé. Mais Stadnbylist et ce cache sont deux choses différentes. Le cache NTFS est indiqué comme étant la mémoire utilisée, alors que le cache d’attente contient des données, mais il peut être vidé très rapidement si vous venez de créer une nouvelle mémoire pour y stocker des données.

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

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

Essayez-le si cela "corrige" votre problème.

2
magicandre1981

Peut-être que la lenteur vient de Windows forçant des éléments à être chargés/sauvegardés à partir du lecteur d'échange, qu'à chaque vidéo enregistrée, la liste de veille s'allonge et qu'avec un gros lecteur d'échange, d'autres programmes (en arrière-plan) sont maintenant placés sur le lecteur d'échange, ralentir la machine.

Si ce PC n’est utilisé que pour enregistrer des émissions télévisées, une solution consisterait peut-être à faire en sorte que le lecteur de swap soit aussi petit que Windows le permet, ce qui correspond, selon moi, à 16 Mo. N'éteignez pas totalement le lecteur d'échange, car Windows créerait alors un lecteur d'échange en secret.

Certains comment je ne peux pas imaginer que Windows deviendrait lent, s'il lisait simplement des données depuis la RAM, alors qu'aucun nouveau programme n'était chargé depuis le disque.

Qoute à partir d'un 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 ajoutées à la liste de veille commencent par une priorité élevée, qui diminue progressivement avec le temps.

Si le système ne dispose pas de suffisamment de mémoire pour gérer la charge de travail, seul un faible pourcentage des pages de la liste de veille a une priorité basse. En surveillant le nombre de pages avec des priorités différentes, 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 puisse conserver en mémoire les pages récemment référencées tout en conservant suffisamment de mémoire disponible pour satisfaire tous les besoins en mémoire immédiats. "

Peut-être aussi le programme d’enregistrement télévisé, car il continue de tourner et ne s’arrête pas, toutes les pages de la liste de veille marquées comme ayant la priorité la plus élevée poussent d’autres éléments vers l'extérieur, ce qui accélérerait normalement Windows. Vous pourriez penser que ces éléments sont libérés lorsque la mémoire est insuffisante et/ou lorsqu'il n'y a pas de fichier d'échange que Windows ne peut secrètement pas commencer à utiliser intensément le lecteur d'échange, ce qui ralentit le processus. Ceci dans l'hypothèse où les données de la liste de veille ne seront pas chargées sur le lecteur d'échange.

1
Vuurdraak