Twisty a raison de dire qu'il n'y a pas d'outil natif dans Windows pour faire cela.
Cependant, en effectuant des recherches et des tests supplémentaires, il semble que même l'outil Sync de SysInternals n'efface pas réellement la mémoire utilisée par Windows pour mettre en cache les fichiers et les données - autrement connu sous le nom de cache du système de fichiers, et que Windows appelle mémoire de veille . Cela peut être démontré en utilisant RAMMap un autre outil de SysInternals qui surveille toutes les allocations de mémoire dans Windows.
Inspection de la colonne de mémoire en attente de RAMMap avant et après l'exécution de l'application Sync
montre que la mémoire de réserve de Windows reste pratiquement inchangée avant et après l'exécution de l'outil Sync
. En effet, Sync
ne semble pas avoir d'effet notable sur la mémoire, ce qui, pour autant que je sache, le rend essentiellement inutile pour les tests de performance.
J'ai cependant découvert une méthode programmatique efficace pour effacer la liste d'attente de Windows, sous la forme suivante EmptyStandbyList.exe un programme simple en ligne de commande de Wen Jia Liu :
EmptyStandbyList.exe est un outil de ligne de commande pour Windows (Vista et supérieur) qui permet de vider :
- processus de travail
- la liste des pages modifiées
- les listes d'attente (priorités 0 à 7)
- la liste d'attente de priorité 0 uniquement
Pour l'utiliser, vous devez vous assurer que l'option EmptyStandbyList.exe se trouve dans un emplacement situé dans la variable d'environnement PATH de votre système, alors appelez le fichier EmptyStandbyList.exe
depuis le Shell ou depuis un Shell lorsque vous avez besoin de vider la mémoire.
Sur CMD
:
EmptyStandbyList.exe
Et dans bash
:
cmd \/c EmptyStandbyList.exe
Pour confirmer que la mémoire de veille de Windows a été effacée avec succès après l'exécution, vous pouvez à nouveau utiliser RAMMap.
Avant de courir EmptyStandbyList.exe
Après avoir exécuté EmptyStandbyList.exe