Windows : Prefetch et Superfetch
- Gestion de la mémoire avec SuperFetch et ReadyBoost
- Prefetch et Superfetch avec un lecteur SSD
- Prefetch
- Vider le dossier Prefetch
- Superfetch
- ReadyBoost
Gestion
de la mémoire vive avec SuperFetch et ReadyBoost :
SuperFetch est une technologie utilisée dans Windows Vista, Windows 7 et Windows 8.
Elle consiste à charger en
mémoire au démarrage de l'ordinateur les programmes les plus utilisés. Cela permet
de les lancer plus rapidement.
ReadyBoost permet d'utiliser une clé USB (compatible ReadyBoost) comme cache pour augmenter la taille de la mémoire vive.
Voir aussi ma page : ReadyBoost, clés USB U3
Prefetch et Superfetch avec un lecteur SSD :
Si on utilise un lecteur SSD, les fonctionnalités Prefetch et Superfetch doivent être désactivées :
- Cela est fait automatiquement sur Windows 7
- Il faut le faire manuellement sous Windows Vista
- Cela ne se fait plus sur la denière mise à jour Windows 8.1
Voir : Answers.Microsoft.com - SSD parameters are set incorrectly by 8.1 update
Voir la page Microsoft : Windows 7 & SSD: defragmentation, SuperFetch, prefetch
http://support.microsoft.com/kb/2727880
"... SuperFetch and prefetch are storage management technologies in Windows that provide a fast-track access to data on traditional, slower hard drives. On SSD drives these really clever services only provide for unnecessary write operations. Typically, Windows 7 automatically disables these services for your SSD disk. Otherwise disable it manually...
Evidemment, ces fonctionnalités ne concernent que le disque système (démarrage). Qu'importe si on utilise un disque dur classique pour les données, il n'est pas concerné par le fonctionnement de Windows.
Prefetch :
Le prefetching est apparu sous Windows XP
Il organise les fichiers sur le disque dur afin de lancer les applications plus rapidement.
Des fichiers .pf sont créés dans le dossier : C:\WINDOWS\Prefetch
Exemple, sous Windows 7 lorsque le prefetching est désactivé (ici, parce qu'on utilise un lecteur SSD)
Il n'y a a pas de fichiers .pf
Vider le dossier Prefetch :
On peut, sans risque, effacer le contenu du dossier Prefetch, il sera reconstruit.
D'aucuns disent qu'il ne faut pas supprimer le fichier layout.ini :
Voir :
answers.microsoft.com - le fichier ou le répartoire WINDOWS\Prefetch\explorer.exe-2D97EBE6.pf est endommagé et illisible. Exécutez l'utilitaire CHKDSK
"Si un fichier ".pf" dans C:\WINDOWS\Prefetch vous crée un problème, vous pouvez le supprimer sans problème. C'est d'ailleurs le cas de tous les fichiers ".pf" de ce dossier Prefetch qui se reconstituront peu à peu au fur à mesure des utilisations de programmes.
Par contre, il est conseillé de garder "Layout.ini"
Si la reconstruction tarde à se faire :
- vérifier d'abord que le service Superfetch est activé
- verifier que Prefetch et Superfetch sont activés dans la Base de registre
- menu Démarrer, Exécuter... (ou taper : Windows + R)
Dans la fenêtre Exécuter...
- taper (ou copier-coller) :
rundll32.exe advapi32.dll,ProcessIdleTasks
Désactiver le Prefetch :
Le Prefetch occasionne des accès disque lors de sa construction.
Ensuite, il permet d'accélérer l'accès aux programmes les plus utilisés.
Il n'est pas conseillé de le désactiver. Sauf lorsqu'on utilise un lecteur SSD
PS :
Windows 7 désactive automatiquement le Prefetch lorsqu'on installe un lecteur SSD
Sur Windows Vista, il faudra désactiver manuellement le Prefetch lorsqu'on utilise un lecteur SSD
- cliquer sur Démarrer,
- taper dans la case Recherche :
regedit
- appuyer sur Entrée
Dans la Base de Registre :
- allez dans :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
0 = Désactiver Prefetch / Désactiver SuperFetch
1 = Prefetch actif sur les applications / SuperFetch actif sur les applications
2 = Prefetch actif sur le démarrage / SuperFetch actif sur le démarrage
3 = Prefetch actif sur tout / SuperFetch actif sur tout.
- cliquer avec le bouton droit sur EnablePrefetcher,
- sélectionner "Modifier",
- taper "0" dans "Données de la valeur",
- cliquer sur OK
- faire de même pour EnableSuperfetch
SuperFetch :
Le SuperFetch consiste à placer en mémoire vive (cache) des fichiers (.dll, programmes, etc.) fréquemment utilisés, afin que le chargement des programmes soit plus rapide.
Le Superfetch et la mémoire vive :
Dans le Gestionnaire des tâches, onglet Performance :
- on constate que la mémoire libre est proche de 0, alors que le cache contient la mémoire disponible,
- si un programme réclame de la mémoire, le cache est vidé au profit de la mémoire.
Sur un ordinateur Windows Vista, avec 2 Go de mémoire vive :
Superfetch activé :
- remarquer la mémoire libre : 12 Mo
Superfetch désactivé :
- remarquer la mémoire libre : 549 Mo
Liens :
Voir :
DailyMotion.com - Windows Vista - Superfetch
http://www.dailymotion.com/video/x3bweq_windows-vista-superfetch_tech
La gestion mémoire sous Windows Vista : Le SuperFetch
http://www.generation-nt.com/readyboost-readydrive-memoire-virtuelle-vista-gestion-memoire-article-25047-3.html
Désactiver le Superfetch :
On peut désactiver cette fonctionnalité dans deux cas :
- si on dispose de peu de mémoire vive,
- si on utilise un lecteur SSD
Dans tous les autres cas, il est préférable de laisser cette fonction activée
Désactiver dans Services :
C'est la solution la plus simple (recommandée)
- menu Démarrer, Exécuter... (touche Windows + R)
- taper :
services.msc
Dans Services :
- cliquer avec le bouton droit sur Superfetch, sélectionner Propriétés
- sélectionner "Désactiver" à la place de "Automatique"
- cliquer sur "Arrêter",
- cliquer sur "OK"
Désactiver dans la Base de registre :
Il est inutile de désactiver le Superfetch dans la Base de registre, puisqu'on peut le faire facilement en désactivant le service (voir ci-dessus)
Uniquement pour information.
- aller dans :
HLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Par défaut, la valeur EnableSuperfetch est à 3
Il faut la mettre à 0 pour la désactiver
Les valeurs :
0 = Désactiver Prefetch / Désactiver SuperFetch
1 = Prefetch actif sur les applications / SuperFetch actif sur les applications
2 = Prefetch actif sur le démarrage / SuperFetch actif sur le démarrage
3 = Prefetch actif sur tout / SuperFetch actif sur tout.
Voir les explications sur la page :
Ajustez les paramètres de SuperFetch
http://www.01net.com/contenu/2562/ta_fiches/ajustez-les-parametres-de-superfetch-353-1
Voir aussi ma page : Problème d'activité intempestive du disque dur
ReadyBoost :
ReadyBoost permet d'utiliser une clé USB (compatible ReadyBoost) ou une carte mémoire SD comme cache pour augmenter la taille de la mémoire vive.
C'est Superfetch qui détermine les données à mettre en cache sur la clé USB.
Apparu avec Windows Vista, cette technologie est surtout efficace dans les cas suivants :
- peu de mémoire vive (RAM)
- un disque dur lent,
- un processeur lent
Elle peut être utile lorsqu'on ouvre beaucoup de programmes.
Si on utilise un lecteur SSD sous Windows 7, cette fonction est inutilisable car ReadyBoost, Superfetch et Prefetch sont désactivés.
A l'insertion de la clé, il est proposé de l'utiliser : "Accélérer mon système avec Windows ReadyBoost "
Si on retire la clé, ReadyBoost est désactivé sans qu'il y ait perte de données.
21/03/2007 : EreNumerique.fr - Windows Vista : la fonction ReadyBoost
ReadyBost sur Wikipedia :
http://fr.wikipedia.org/wiki/Readyboost
02/06/2006 : blogs.msdn.com - ReadyBoost Q&A (anglais)
Liste de clés USB compatibles ReadyBoost (anglais) :
http://www.grantgibson.co.uk/misc/readyboost/

