Duplicaté possible: strong>
Comment invalider le cache du système de fichiers? P> blockQuote>Pour pouvoir obtenir des points de repère, je dois nettoyer le disque Windows Lire forte> cache. Comment puis-je faire cela? P>
En fait, je souhaite comparer si le chargement d'un gros fichier Unicode (UTF-8 ou UTF-16) à partir du disque est plus rapide ou non, considérant qu'en mémoire, je garde UTF-16. p>
Je sais que cela ne devrait être aucune différence significative, mais pour que cela soit nécessaire, je dois être sûr que ce fichier n'est pas mis en cache - je dois voir si la taille sur disque a plus ou moins d'impact que de décoder le fichier. p>
3 Réponses :
La seule solution que j'ai trouvée jusqu'à présent était http://chadaustin.me/ 2009/04 / FLUSHING-DISK-cache / Mais celles-ci prend trop de temps alors j'espère que nous en trouverons un meilleur. P>
Comme je le vois, vous avez trois options, à moins que quelqu'un d'autre ait trouvé une magie: p>
Edit: Il est en effet possible de rincer le cache de lecture, du moins sur Vista et plus loin: Désactiver ou affleurer le cache de page sur Windows . Cela nécessite un appel dans le afaik, il n'est malheureusement pas possible de Jeter em> la em> la lecture forte> sous Windows. s> J'ai passé du temps à regarder cela il y a quelques années, et Seulement découvert comment flush em> le cache fort> écrit strong>. p>
NTSetsysteminformation NTSetsysteminformation code> NT, cependant. De plus, pour un seul fichier, lire le cache peut être rincé simplement en ouvrant le fichier avec file_flag_no_buffering code> spécifié et fermant la poignée à nouveau. P>
Notez que le programme flushmem code> de la solution de réponse de SRRS SBARNEA 3. Cela fonctionne, mais alloue que beaucoup de mémoire est apparemment assez lent (probablement parce qu'il provoque beaucoup de paging / échange).
@sleskeke: Oui, ce n'est pas une jolie solution - il oblige les fenêtres à couper les ensembles de travail pour tous les processus, à faire de la page d'échange ... et ensuite il y aura généralement immédiatement une activité après.
Notez que le programme de programme de la réponse de SRR SBARNEA implémente la solution 3. Cela fonctionne, mais alloue que beaucoup de mémoire est apparemment assez lente (probablement parce que cela provoque beaucoup de pagination / échange). Code> ne doit pas le mentionner Crash trucs. J'ai couru et chrome (y compris cette page même) a juste disparu. Doh! Heureusement quand j'ai couru chrome, il me permet de restaurer ma séance, donc c'était juste un inconvénient mineur; Néanmoins, soyez conseillé d'être en sécurité, vous devez tout quitter avant de l'utiliser (ce qui en fait bien sûr une solution médiocre). : - / code>
Une personne de Microsoft m'a aidé avec cela il y a quelques années (à l'époque de Windows XP) et m'a donné une solution qui répondait à mes besoins à l'époque. J'ai déjà eu deux lecteurs dans ma machine et ce que je devais tester était déjà sur le lecteur d, et heureusement, je n'avais pas besoin de garder des fichiers ouverts sur mon lecteur D lorsque je voulais rincer le cache. À partir de l'interface de gestion de disque Windows, je pourrais modifier ma lettre D: lecteur à une autre lettre, puis retourner, et le lecteur D serait effectué comme s'il avait une cache froide dans le système d'exploitation. P>
Ce que vous cherchez est également appelé "déposer le cache". Sous Linux, vous pouvez le faire en écrivant sur
/ PROC / SYS / VM / DROP_CACHES CODE>. Aucune idée de Windows si ...@Mehrdad Vous avez réalisé que cette question si de 2010 et celle de 2011?
@Jack: Oui Désolé, j'ai fait, mais en même temps, je postirais la réponse à cette question sur l'autre question il y a plusieurs mois ... Donc, soit cette question devrait être fermée comme une dupe de celle-ci, ou l'inverse. J'ai décidé d'opter pour ce dernier parce que j'ai vu tonnes i> de copies de cette question (nombre de 2010) lorsque j'ai googlé et que je pensais que ce serait beaucoup moins de problème de les marquer comme une dupe de Celui-là que d'essayer de trouver la copie la plus ancienne de cette question sur Stackoverflow (il y a des tonnes). :\ Désolé..
@Mehrdad Je pense que la procédure correcte officielle est que la question "meilleure" i> est à gauche et les autres marquées comme des dupes. Pour être honnête, je n'ai pas vraiment lu ou comparer les deux pour voir lequel est "mieux" i>
@Jack: Je me sens un peu bizarre en disant cela parce que j'étais celui qui a répondu à cette question, mais je pense vraiment que ma réponse est la seule qui fonctionne vraiment ... J'ai regardé tous les questions et answers mais aucun d'entre eux n'était aussi pratique (et sans avertissement) comme le mien. : \ C'est pourquoi je les ai marqués comme des dupes.