mercredi 15 septembre 2010

Optimiser la mémoire sous Windows 7


Optimiser la mémoire sous Windows 7








La gestion de la mémoire sous Windows 7 ( Vista SP2 ) 
 
Windows 7, tout comme Vista  peut reconnaître l'installation de vos 4 Go de mémoire, seulement en pratique, il ne pourra utiliser réellement que plus ou moins 3, 2 Go de Ram, le reste étant réservé aux périphériques MMIO.
 
Le besoin de mémoire et la gestion des périphériques requièrent un accès mappé en mémoire, ceci s'effectuant de deux façons avec le PMIO ou MMIO, pour donner un exemple prenons le cas de la carte graphique qui utise la MMIO (memory Mapped I/O) qui est une partie de l'espace d'adressage du processeur utilisée pour accéder à un périphérique ou bien la mise en cache du BIOS, de l'APIC, la gestion du DMI, l’espace de configuration du FSB, la configuration des cartes PCI-Express et la carte graphique et la gestion du northbridge, donc en finalité la réduction en mémoire système disponible dépend des périphériques qui sont installés dans l'ordinateur, toujours est-il qu'avec une version 32 bits nous sommes plus ou moins limité et la mémoire disponible totale tourne aux alentours des 3,12 Go.
 
Windows dispose d'une zone mémoire dédiée aux écritures/lectures ( programmes, thread de contrôle, etc..)pour un total de 4 (Go) d'espace d'adresse virtuelle, chaque espace est indépendant. en mode normal 2 Go sont réservés au noyau et 2 Go sont réservés aux applications, d'ou cette fameuse utilisation maximun de 2Go par application pour un 32 Bits, il est heureusement possible de contourner cette limitation de configuration système en activant une commande sous Vista.
 
Cette astuce permet d'allouer 1 Go au noyau et 3 Go à l'application, l'intérêt est donc bien d'avoir un espace de 3Go réservés pour nos programmes qui peuvent s'avérer assez gourmand.
 
Comme nous l'avons vu ci-dessus le bootlaoder sous Windows 7 est modifiable via bcdedit en invite de commande et en tant qu'administrateur, et pour indiquer les 3 Go réservés à l'espace utilisateur, tapez :
 
BCDEDIT /Set IncreaseUserVa 3072 ( 2048 par défaut )
 
Pour supprimer l'entrée et en cas de souci de démarrage du système, redémarrer en mode sans echec et tapez :
 
bcdedit /deletevalue IncreaseUserVa
 
Rebooter 

La gestion de la mémoire sous Windows 7



!
Attention: Malgré le peu de souci rencontré avec cette astuce et tout comme pour XP Pro et Vista 32 Bits, rien ne garantie que la stabilité du système soit préservé, de plus il faut que votre programme puisse pouvoir exécuter correctement ce contournement, pour en profiter il faut que votre application ( séquenceur audio, synthé virtuel, etc... ) soit compatible LAA ( Large Address Aware )

Voir le dossier sur la mémoire Vive et le tuto pour réaliser un Flag LAA


Sondage sur l'astuce
BCDEDIT /Set IncreaseUserVa 3072 ( 2048 par défaut )




La commande "BCDEDIT /Set IncreaseUserVa 3072": Pour ceux rencontrant des soucis avec cette commande, il serait intéressant d'apporter vos témoignages et expériences, vous pouvez donc poser directement...votre commentaire et expliquer quels sont les problèmes que votre configuration rencontre.

La gestion des 4 Go dans un environnement 32 Bits
 
Comme évoqué dans le dossier sur la mémoire vive, et mentionné ci-dessus la limitation de la mémoire vive est de 4 Go dans un environnement 32 Bits,
il est possible en théorie de pouvoir avoir plus de 4Go, tout comme pour les versions serveurs de windows, Intel propose à quasiment tous les processeurs 32 Bits, l'extension PAE ( Physical Adress Extension ), permettant en principe d'étendre l'espace d'adressage de 32 à 36 Bits et aux processeurs X86 de gérer jusqu'à 64 giga-octets de mémoire physique, ceci mettant fin à la limitation du 32 Bits, malheureusement dans la pratique ce n'est pas le cas.
En plus de présenter des problèmes de compatibilité, le fait d'activer cette fonction ne change pas le fait que les processeurs 32 Bits ne peuvent pas gérer plus de 4 Go et dans la théorie ou cela fonctionne, la quantité de mémoire reste inférieur à 4 Go.
 
Donc tout comme XP SP2 et Vista, activer le /PAE dans un 32 Bits est "risqué" dans la mesure ou votre machine risque de planter ou d'être fortement instable, rien ne vous empêche en revanche de faire des tests sur une partition dédiée.
 
Pour en savoir plus : Dossier sur la mémoire vive
 
 
Le commutateur /PAE sous Windows 7 ( Pour Info )
 
Enable PAE
 
tapez sur la touche Windows + R puis CMD ( en tant qu'administrateur ) puis :

BCDEDIT/SET PAE ForceEnable
 
Rebooter
 
Pour désactiver le PAE, en cas d'instabilité ou de plantage
 
BCDEDIT/SET PAE DisableEnable
 
Rebooter

Le commutateur /PAE sous Windows 7


 Sondage avec l'astuce
BCDEDIT/SET PAE ForceEnable




Le SWAP ( Fichier d'échange )
 
Le Swap, que vous connaissez aussi sous le nom de fichier d'échange, permet à Windows de disposer et de créer un fichier de mémoire virtuelle, permettant aux processeurs de disposer d'un espace de réserve supplémentaire sur le disque dur, histoire en quelque sorte de simuler la Ram.
 
Par défaut, ce fichier d’échange occupe la partition système de Windows et a une taille variable modifiée constamment en fonction de la quantité de la mémoire vive et des besoins du système d’exploitation. bien entendu, ce fichier occupe la même partition que le système, même si comme constaté dans le dossier sur la mémoire vive, l'OS reste sensible à la fragmentation.
 
Pour éviter cette dégradation des performances, il est souvent recommandé de déplacer ce fichier d’échange  sur un deuxième disque dur ( sauf en cas de Raid ), de préférence en début de disque pour assurer les meilleures performances possibles, c'est notamment le cas pour Windows XP et confirmé par Microsoft avec Vista : Dans Windows Vista et Windows Server 2008, le fichier d'échange ne doivent pas être sur la même partition que la partition sur lequel le système d'exploitation est installé ceci est donc valable également pour Windows 7, toujours d'après Microsoft il est même nécessaire de créer une autre entrée de registre.
 
Réglage de la taille du fichier d'échange de la mémoire virtuelle
 
Cliquez Droit sur poste de Travail

sur Propriété Système cliquez sur Avancé > Options de performances > modifier >
En moyenne il est recommandé d'appliquer se calcule 1,5 voir 2 fois votre Ram soit :
Pour 512 de Ram 1024 ou 768 Ok
Redémarrer
 
Pour les configurations de 2 à 4 Go de mémoire vive

Si votre ordinateur dispose de plus de 2 Go, vous pouvez ignorer le fichier d'échange de la mémoire virtuelle, ceci 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
 
 
Vider le fichier d'échange à chaque arrêt

 
Pour limiter les effets de la fragmentation du fichier d'échange il est possible d'obliger Windows de vider le fichier lors de l'extinction de la machine, ceci augmentera néanmoins le temps de fermeture de la session.
 
Regedit
Allez dans :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ Memory Management
Cliquez sur la valeur ClearPageFileAtShutdown et attribuez la d'un 1 En cas de souci, mettez un beau 0 pointé à la place du 1
 
Réglage et Optimisation du Prefetcher ( XP, Vista, Seven )
 
 
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écessaires à la mise à jour du préfetcher, donc pour libérer davantage 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] 

   
Le Superfetch ( Vista, Seven )
 
 
N’oublions pas le Superfetch permettant au prefetch d’être plus performant au détriment 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 choisissez "Désactivé", appliquer le changement 

 
           Augmenter la mémoire tampon ( Vista et Windows 7 )
 
 
Avec au minimum 1 Go de mémoire vive, il est possible de forcer la vitesse de la lecture et écriture des fichiers rendant ainsi un échange plus rapide avec le disque dur
 
Tapez
Regedit
Allez dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\
 
Cliquez ou créer sur la valeur Dword IoPageLockLimit, saisissez les valeurs Décimale correspondant à votre quantité de mémoire vive
 
Avec 1 Go :   983040
        2 Go : 1966080
        4 Go : 3932160
          6 Go : 5898240 
        8 Go : 7864320
      16 Go : 15728640

Activer la mémoire cache L2 :  ( XP , Vista, Windows 7, Windows 8 )

La  mémoire  cache  de  niveau  2  est une  zone  tampon  au  sein  même  du  processeur et plus  un  processeur possède de mémoire cache et plus  il est rapide, c'est dans  cette zone que le CPU peut récupérer certaines données bien plus rapidement qu'en allant dans le mémoire vive.
Vérifiez tout d'abord votre quantité avant d'activer cette procédure : CPU-Z

Regedit, recherchez la clef suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management

repérez la valeur "SecondLevelDataCache"

Pour les Cpu avec

  128 Kbits =   80
  256 Kbits = 100
  512 Kbits = 200
1024 Kbits = 400
2048 Kbits = 800

Sur la ligne "LargeSystemCache" ( 2000/XP Mini 256 mo de Ram ) *

Mettez sur 1
 
 
 
Zikmao.net  Octobre 2009 







Faire un lien :

Réagir sur le forum

 




Tous droits réservés - Copyright © 2007-2012 Zikmao.net


4 Comments:

Unknown a dit…

Si ça peut aider certaines personnes, il semblerai que cette commande rende mon système très instable. Après le démarrage tout va pour le mieux, mais plus le temps passe, et plus je lance des applications, plus les problèmes se multiplient. Le message suivant apparait alors: "Ressources insuffisantes pour terminer l’opération".

J'ai effectué la commande suivante pour revenir en arrière: BCDedit /DeleteValue IncreaseUserVa

Pour info, je tourne sous Win 7 32 bits avec 4Go de RAM.

Les jeux, même les plus gourmands tournant nickel mais en surfant ou en regardant un film ça finit par planter. J'ai même eu des soucis de résolution :O

J'espère pouvoir aider ceux qui seront dans le même cas que moi ! ;) J'ai cherché pendant des heures avant de trouver que ces soucis venaient d'une action de ma part !!

Zikmao.net a dit…

Bonjour Xerox

"J'ai cherché pendant des heures avant de trouver que ces soucis venaient d'une action de ma part !!"

Peut être que tu n'as pas lu entièrement le sujet, mais tu as la commande pour supprimer l'entrée, voir ci dessous :

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

Il arrive effectivement parfois des plantages....c'est précisé ici, facilement analysé et répandu sur le net

Il y a d'ailleurs sur la même page un sondage spécialement présent pour ce faire une idée du sujet !

Hustlerboy a dit…

Bonsoir,

Et si au lieux de mettre la valeur 3072 on entre la valeur 4096 le systeme tournera t-il?

Zikmao.net a dit…

Bonjour,

Je ne peux te dire, je n'ai pas testé, ceci dit cela devrait être la cas.

Toujours est-il que ton application 32 Bits compatible LLA n'aura accès qu'au 3 Go.....

Voir le dossier sur la Mémoire Vive : http://zikmao.forum-actif.net/t87-bien-choisir-sa-memoire-vive#87

Enregistrer un commentaire



 

www.zikmao.net Copyright © 2010 LKart Theme is Designed by Lasantha

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
Plan du site - mentions légales - Partenaires : - les oreilles.com - PlanèteParis - Stock2Musique - Rockenfolie


2007-2021 Zikmao.net

Zikmao.net s'est engagé à respecter la confidentialité des données personnelles régies par la loi 78-17 du 6 janvier 1978. Déclaration C.N.I.L. n° 1390775