LA GESTION DE LA MEMOIRE SOUS VISTA
la mémoire sous vis
La gestion de la mémoire sous Vista
La gourmandise de nos PC en mémoire ne cessant de croître, il est important de bien s’interroger sur la quantité de RAM à disposer, sous XP 1Go était recommandé, 2Go pour une utilisation intensive comme la MAO, et avec l’arrivée de vista, il faut viser si possible les 2Go directement, car vista demande des besoins élevés en terme de mémoire vive, possédant des fonctionnalités diverses comme Aero ou les services d’indexation des fichiers.
Le Superfetch que nous verrons plus loin, a pour but de pré-charger en mémoire les données et applications les plus utilisées sur votre PC afin d’obtenir une réactivité, et cela ne sera qu’efficace quand disposant d’un espace mémoire disponible, donc avec 2Go c’est tout bon.
Avec les 2Go préconisés et une version 32 bits sur XP, la limite est déjà acquise, mais il est possible de modifier ce seuil en allant faire un tour dans le fichier démarrage et de passer ce seuil à 3Go ( avec XP pro, ajouter l’option /3GB dans le Boot.ini ) voir le dossier sur Optimiser Windows.
Sous Vista, le fichier Boot.ini n'existe pas, c'est le fichier bootmgr ( voir dossier ci-dessous )
Windows Vista bénéficie du nouveau noyau NT6, et, pour rappel le noyau NT5 (Windows 2k/XP) utilise des algorithmes permettant de diviser la mémoire disponible du PC en de petites zones statiques, également appelées pages.
Avec ce noyau et en cas de changement dans nos configuration PC (installation pilote, modification de la base des registres, etc.), il fallait alors redémarrer le PC afin que le noyau NT5 puisse réorganiser les plages mémoire.
Ce qui est intéressant dans le fonctionnement du noyau NT6, c’est que la mémoire vive disponible n’est plus divisée de façon statique, mais dynamiquement. Le premier avantage est que Windows Vista n’est plus limité par la taille fixe des pages, ce qui permet au noyau NT6 de reconfigurer en temps réel ces pages en fonction des besoins.
Cela permet de ne pas se retrouver avec de l’espace mémoire inutilisé et de rencontrer le phénomène de fragmentation.
Cela permet également d’éviter les redémarrages intempestifs, mais également d’écraser « accidentellement » les données contenues dans une ou plusieurs pages
Plus efficace donc, Windows Vista analyse en permanence la mémoire. Ce qui permet de détecter toute erreur d’écriture/lecture dans le but de placer le ou les secteurs mémoire défectueux en quarantaine. Windows Vista vous avertit alors du problème et vous propose d’exécuter l’utilitaire de diagnostic mémoire Windows au prochain redémarrage.
Les performances du meilleur disque dur, étant nettement moins véloce que la mémoire, la gestion de la mémoire sous vista prend son intérêt lorsque la mémoire virtuelle s’appuyant sur les disques durs, permet l’exécution de nombreux programmes en simultanés, ce que bien sur la mémoire vive ne peut effectuer.
Avec Windows 2k/XP, la mémoire virtuelle est paginée et Windows Vista s’appuyant sur le même modèle dynamique utilisé par la mémoire vive, permet, d’adapter la taille des pages en fonction des besoins réels, de diminuer les redémarrages nécessaires et de réduire fortement le phénomène de fragmentation. Ce qui implique de meilleurs accès en lecture/écriture également.
Bootloader sous Vista
Contrairement au fichier Boot.ini, le fichier "bootmgr" est executable seulement sous " en tant qu'administrateur " ce qui évitera d'être modifié facilement, il n'est pas non plus possible de lire directement le contenu du fichier bootmgr, fort heureusement, Microsoft a pensé à un outil permettant de le modifier.
Cet outil se nomme bcdedit(.exe) et se trouve dans le répertoire \ Windows \ System32 du répertoire Windows Vista partition.
Ouvrez l'invite de commande ( cmd ) en tant qu'administrateur puis tapez bcdedit :
Avant de bidouiller nous allons faire une sauvegarde de ce fichier, créez un dossier à la racine de c:/ (ou ailleurs).
Toujours sous l' invite de commande, tapez :
mkdir c:\backup
Exportez le fichier dans ce dossier de backup
bcdedit /export "C:\Backup"
Il est tout à fait possible de réimporter avec le paramètre import
bcdedit /import "C:\Backup"
Et pour plus de détails sur la commande et l'option de renseignements à l'invite de commande, tapez bcdedit.exe /? commande dans l'invite.
La gestion des 4 Go sous Vista SP1
Tout comme sous XP Pro 32 bits, il est possible de n'allouer qu'1 Go pour le système et 3 Go pour l'utilisateur, ce qui dans notre cas nous intéresse.
Comme nous l'avons vu ci-dessus le bootlaoder sous vista est modifiable via bcdedit en invite de commande et en tant qu'administrateur, et pour indiquer les 3 Go réservés à l'utilisateur, tapez :
BCDEDIT /Set IncreaseUserVa 3072 ( 2048 par défaut )
Pour supprimer l'entrée et en cas de souci de demarrage du système, redemarrer en mode sans echec et tapez :
bcdedit /deletevalue IncreaseUserVa
Rebooter
Attention tout comme sous XP Pro, rien n'est garantie, ni sur la stabilité du système ni sur une bonne utilisation de cette astuce, car il faut cependant que vos programmes puissent les exécuter, en somme pour en profiter il faut que votre application ( sequenceur, synthé virtuel, etc... ) soit compatible LAA ( Large Address Aware )
Et pour gérer plus de 4Go, on passe sur Mac, voir Lynux...et tester la version 64 bits de Vista Ultimate....sans doute d'ailleurs l'objet d'un futur dossier.
Optimisation de la mémoire et les DLL
Tout comme XP, les DLL utilisés par les logiciels sont conservés et ce même après la fermeture du système, dans un choix de libérer davantage de la mémoire vive et décharger systématiquement les dll après usage, faite comme ceci :
Regedit
Allez dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
Doucle-cliquez sur AlwayasUnloadDLL, fixez à 1
Rebooter
Pour les configurations de plus de 2 Go de mémoire
Votre ordinateur dispose de plus de 2 Go, vous pouvez ignorer le fichier d'échange de la mémoire virtuelle permettant d'utiliser exclusivement de la mémoire vive et évitera aux données d'être échangée entre la mémoire vive et le fichier d'échange
Regedit
Allez dans :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Cliquez sur la valeur DisablePagingExecutive et attribuez la d'un 1
SuperFetch
Avec le noyau NT5 ( Windows 2k/XP ) le Prefetching est une cette technique permettant d’analyser les processus non système afin de déterminer quels sont les programmes les plus couramment utilisés et dans le but d’optimiser le temps d’ouverture et d’accès aux différentes applications vista intègre une technologie avec un algorithme évolué, dénommé SuperFetch.
Et comme spécifié plus haut, le Superfetch a pour but de pré-charger en mémoire les données et applications les plus utilisées.
Tout comme XP, la procédure pour régler et optimiser le Prefetcher est la suivante :
Réglage et Optimisation du Prefetcher ( XP, Vista )
Le répertoire Prefetch ( situé dans le répertoire Windows ) permet de stocker les accès aux fichiers les plus utilisés afin de les charger plus rapidement. Il est possible en affinant le réglage de privilégier la vitesse du boot, du chargement des applications, ou bien les deux. L'optimisation permettra de défragmenter le répertoire Prefetch.
Il est à noter qu'en activant ce service, la mémoire vive est envahie partiellement par ces fichiers, de plus le système est régulièrement sollicité pour récolter les informations nécéssaires à la mise à jour du préfetcher, donc pour libérer davantge les ressources du système et de la mémoire vive, vous pouvez désactiver le Prefetcher, ainsi que le Superfetch ( clef et Services ! )
Tapez
Regedit
Allez dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\PrefetchParameters
Indiquez la valeur désirée pour la clef DWORD EnablePrefetcher
Rebooter
Voici les différentes valeurs possibles pour la clé EnablePrefetcher :
- 0 : prefetcher désactivé
- 1 : prefetcher activé pour les applications
-2 : prefetcher activé pour le boot
- 3 : prefetcher activé pour le boot et les applications ( valeur par défaut )
Il n'y a pas de règles, le réglage est en fonction de votre configuration et de vos choix.
Pour défragmenter le répertoire vous allez lancer défrag en ligne de commande :
Dans Exécuter tapez cmd
puis defrag c: -b et validez ( avec Windows installé sur C )
A noter que sur certaine config l'invite de commande ne reconnaît pas le [b]
N’oublions pas le Superfetch permettant au prefetch d’être plus performant au détrimant d’une consommation plus accrue en mémoire, il vous faut donc faire un choix.
à la clé Dword EnableSuperfetch :
- 0 de la valeur désactivera la fonction
-1 la valeur optimisera le temps de démarrage de vos applications les plus courantes
- 2/3 optimiseront respectivement le temps de démarrage du système, ou le système ainsi que vos applications les plus couramment utilisées
Si vous préférez libérer de la mémoire vive et les ressources systèmes, il faudra désactiver le superfetch :
Tapez services.msc dans Exécuter
Rechercher la ligne Superfetch, double-cliquez, repérez la fenêtre "type de démarrage" et choississez "Désactivé", appliquer le changement
FORCER VOTRE CLE USB POUR LA RENDRE COMPATIBLE READY-BOOST
La technologie ReadyBoost exploite la rapidité des nouvelles mémoires flash des clés USB 2.0 pour améliorer les performances de Windows. Cette mémoire est utilisée comme une mémoire cache pour les informations système déportées sur le disque. Pour que le gain de performance soit sensible, les clés USB doivent atteindre un certain niveau de performances :
- une vitesse de lecture aléatoire (par blocs de 4 Ko) d'au moins 3,5 Mo/sec.
- une vitesse d'écriture aléatoire (par blocs de 512 Ko) d'au moins 2,5 Mo/sec.
Lorsqu'on introduit une clé USB dans le PC, Vista vérifie automatiquement sa compatibilité (donc ses performances) avec ReadyBoost.
Les premières clés "Designed for Windows Vista ReadyBoost" font leur apparition sur le marché.
Mais bien des clés actuelles affichent des performances suffisantes pour ReadyBoost. Pour les activer :
1 - Connecter le périphérique mémoire (clé, disque externe, etc.).
2 - Ouvrir Démarrer puis Ordinateur et demander les Propriétés du périphérique concerné. Aller dans l'onglet ReadyBoost.
3 - Sélectionner Ne pas tester à nouveau ce périphérique
4 - Déconnecter le périphérique et attendre une vingtaine de secondes.
5 - Lancer Regedit et aller à : HKey_Local_Machine\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\EMDgmt
6 - Repérer le périphérique dans la liste.
7 - Modifier la valeur Device Status et passez la à 2
8 - Modifier la valeur WriteSpeedKBs et passez la à 1000
9 - Modifier la valeur ReadSpeedKBs et passez la à 1000. Vous pouvez fermer le registre.
10 - Connecter à nouveau le périphérique, attendre qu'il soit reconnu
11 - Il est maintenant possible d'utiliser ce périphérique pour le ReadyBoost

