N´importe quoi ?
Bien !
- La zone non-paginable, c´est-à-dire des programmes qui sont nécessaires au bon fonctionnement de XP. Il y a donc une zone de la mémoire qui ne sera jamais paginée. Lorsqu´on a un message d´erreur indiquant "défaillance de page dans une zone non-paginable", ça indique très souvent un problème hardware (barrettes mémoire défectueuses ou disque dur endommagé). Mais certains logiciels comme Norton peuvent aussi utiliser cette zone, donc, si la défaillance apparaît juste après une installation de logiciel, on peut le désinstaller et voir si l´erreur se reproduit.
Pour tester votre RAM avec des logiciels spécialisés, vous pouvez consulter mon post : http://forum.pcastuces.com/sujet.asp?SUJET_ID=1896
- Le reste de la RAM est appelé "Page Pool", qu´on pourrait traduire par "réservoir de pages mémoire". XP y stocke les programmes que nous utilisons, des bouts de fichiers qui ont été modifiés ainsi qu´une taille fixe pour le cache disque, c´est-à-dire les fichiers récemment lus ou écrits mais qui ne sont plus utilisés. S´il reste de la RAM disponible, XP va agrandir le cache disque.
Pourquoi y a-t-il si peu de RAM libre ?
On va tordre le cou ici à des mythes concernant les programmes qui libèrent la RAM sous XP. En effet, XP va utiliser toute la mémoire RAM possible selon l´adage "de la mémoire RAM libre est de la mémoire gaspillée".
En pratique, imaginez que vous ouvrez un gros fichier avec Word. XP va charger Word en mémoire, puis, votre fichier. Vous quittez Word, XP va laisser en mémoire le programme Word et votre fichier, dans la zone du cache disque. Il ne les éjectera que si un autre programme doit être exécuté et qu´il n´y a plus de RAM disponible, le cache disque va alors diminuer de taille. Le terme "mémoire RAM libre" est donc impropre, il est plus correct de dire "mémoire pour laquelle XP n´a pas encore trouvé d´usage". Voilà pourquoi les programmes censés libérer de la RAM sont des leurres, au pire, ils font grossir le page file inutilement et les performances sont réduites, exactement l´inverse de l´effet attendu.
Faut-il laisser le page file sur le disque C: ?
Si on a plus d´un disque physique, on peut mettre le page file sur un autre disque que le C. Mais il est conseillé de garder un morceau (environ 2 MB de taille initiale avec un maximum de 50 MB) sur le C, de manière à pouvoir être utilisé en urgence. On peut en effet avoir plusieurs "page file" disséminés sur différents disques.
Si vous utilisez la possibilité du minidump, il faut alors laisser le page file sur le C avec une taille minimum de 200 MB (pour un dump du kernel) ou de la taille de la RAM (pour un dump de toute la mémoire).
Peut-on désactiver la MV si on a beaucoup de RAM ?
Littéralement parlant, la MV est toujours opérationnelle et ne peut être désactivée. Donc, quand on dit qu´on veut désactiver la MV, ça signifie "indiquer à XP de ne pas utiliser d´espace disque pour le page file".
Ce faisant, on gaspille beaucoup de RAM. En effet, la manière dont XP gère la mémoire de ce point de vue est différente de 9x/ME. La raison est que certains programmes allouent de grosses quantités de mémoire quand on les exécute, même si ces programmes ne vont pas utiliser cette mémoire (cette quantité peut parfois grimper jusqu´à plusieurs centaines de MB). Ces adresses mémoire doivent être allouées quelque part et sans page file, c´est dans la RAM qu´elles seront allouées, ce qui va rapidement conduire à un engorgement inutile de la RAM.
Quelle taille pour le page file ?
Voici où aller pour changer la taille :
Panneau de configuration -> Système -> onglet Avancé -> Paramètres de performances -> onglet Avancé, Modifier la Mémoire virtuelle.
Ne pas oublier de cliquer sur le bouton "définir" avant de cliquer sur "OK" !
Si on utilise la "bascule rapide utilisateur", il y a d´autres paramètres expliqués plus loin.
Quelques mythes au sujet de la taille de ce fichier :
- il doit avoir une taille mini égale à la taille maxi pour ne pas se fragmenter
- il doit être 2,5 fois plus gros que la taille de la RAM (ou un autre multiple)
Ces deux affirmations sont fausses dans un système d´exploitation moderne, avec un seul utilisateur. On les retrouve malheureusement un peu partout, et même sur des sites très sérieux et réputés pour la qualité de l´information, c´est d´autant plus dommage et MS ne contribue pas à briser ce mythe, voir les liens plus bas.
J´en profite pour dire que ces mythes sont tenaces sur PCAstuces aussi puisque je viens de lire encore aujourd´hui que quelqu´un conseille 2,5 fois la quantité de la RAM en valeur maxi. Il se pourrait que, par hasard, cette règle convienne à une personne. Mais comme je l´explique ci-dessous, il n´y a pas de règles standard pour la taille de la MV, il faut arrêter d´imaginer qu´on peut en une phrase donner un bon conseil à quelqu´un à ce sujet. La MV est quelque chose de très complexe qu´on ne résume pas en 3 mots.
Pour la taille fixe du page file, il est temps de tordre le cou à cette autre rumeur qui veut que les performances se dégradent à cause d´une fragmentation de ce fichier. C´est une bêtise qu´on voit encore trop souvent car c´est une méconnaissance totale du fonctionnement de la MV que d´imaginer qu´il se fragmente parce qu´il a l´air d´avoir grossi en taille.
XP va agrandir le page file si la valeur minimale est trop basse et le faire diminuer s´il est plus grand que nécessaire. C´est donc payant de mettre une valeur minimale suffisamment grande pour éviter que le page file change de taille. Cette valeur donnera les avantages prétendus d´un page file de taille fixe. Cette taille minimale suffisamment grande servira par exemple si on ouvre exceptionnellement un très gros fichier mais aussi pour assigner les pages de MV réservées par des programmes mais jamais utilisées. Jusqu´au moment où elles vont être utilisées -si elles le sont-, le page file ne sera pas réellement actif. Il n´y a pas d´inconvénient dans le fait d´avoir cette place disponible dans le page file.
Les valeurs par défaut que XP alloue au page file ne tiennent pas compte d´un paramètre important : peu importe la charge de travail, le besoin en adresses virtuelles (RAM + page file) ne dépend pas uniquement de la quantité de la RAM.
Ce qui signifie que pour un PC avec peu de RAM, la taille du page file sera plus grande (et non plus petite) que sur une machine avec beaucoup de RAM. Malheureusement, XP va assigner un énorme page file avec un PC qui a beaucoup de RAM et un petit page file avec peu de RAM.
La taille du page file dépend fort de la charge de travail.
Si on utilise uniquement un traitement de texte et un gestionnaire de mail, on peut se contenter d´une petite quantité de RAM + page file. C´est ce que j´appelle une charge de travail "normale".
Si on manipule de gros fichiers graphiques ou si on fait du montage vidéo, on aura besoin de beaucoup d´adresses virtuelles.
Pour une charge de travail "normale", on conseille ± 500 MB (RAM + page file).
Ce qui donne les chiffres suivants pour la valeur minimale du page file :
Si on a 128 MB de RAM : on met 400 MB de page file
Si on a 256 MB de RAM : on met 250 MB de page file
Si on a plus de 256 MB de RAM : on met 100 MB de page file
Dans tous les cas de figure, donc même avec un 1 GB de RAM, on aura un page file de minimum 100 MB
Comme taille maximale, on conseille 700 ou 800 MB ou même plus, si on a assez de place disque. Vous pouvez doubler cette valeur si vous êtes dans la catégorie montage vidéo et fichiers graphiques. Ce n´est que de l´espace disque qui pourrait être alloué, il faut évidemment tenir compte de ce qu´il vous reste de libre mais les HD d´aujourd´hui sont énormes.
Si on constate via Explorer que la taille réelle du fichier Pagefile.sys est supérieure à celle qu´on a spécifié comme taille minimale, c´est que cette valeur minimale est trop basse.
On peut tester s´il est nécessaire de rajouter de la RAM en mettant une taille initiale assez basse, disons 50 MB. Puis, on utilise ses applications courantes et on vérifie la taille du page file. S´il est toujours à 50 MB, il n´est pas nécessaire de rajouter de la RAM.
Ces paramètres ont changé en comparaison avec les versions précédentes de NT, les valeurs indiquées dans le gestionnaire de tâches, onglet performance "page file utilisé" incluent les pages réservées mais qui ne sont pas (encore ?) utilisées. Cette valeur donne une bonne idée de la taille maximale du page file mais pas de la taille minimale.
En clair, ça veut dire qu´on pourrait avoir dans le gestionnaire de tâches une valeur de 170 MB de page file utilisé mais le fichier Pagefile.sys aurait une taille de 40 ou 50 MB seulement, la différence entre 50 et 170 étant les fameuses pages réservées. Ne vous étonnez donc pas de voir une telle différence qui n´existe pas avec les anciennes versions de Windows.
Il existe un utilitaire pour tracer l´usage réel du page file, les liens sont en bas de page. La valeur maximum renseignée après plusieurs jours d´observation pourra servir de base comme valeur minimale du page file.
J´ai trouvé sur un forum francophone une autre manière de voir la consommation de RAM :
Ouvrir le gestionnaire de tâches (par CTRL+alt+suppr) -> onglet Performances.
Il y a une partie "charge dédiée" avec 3 valeurs : Total (=maxi actuel), Limite (=maxi possible), Pic (=maxi jusque maintenant).
Ensuite, démarrer un maximum d´applications, de manière à saturer la RAM, tout en essayant de rester dans une situation plausible, je veux dire que vous pouvez lancer les applications que vous utilisez habituellement mais pour une fois, lancez-les toutes en même temps. Cela va provoquer une demande énorme de RAM et la valeur "Pic" devrait vous donner une bonne idée de la valeur Maxi à spécifier pour la MV.
Attention, je n´ai pas testé cette situation, je ne sais pas si elle est valide. Je l´ai indiquée afin que vous la testiez, merci d´indiquer vos commentaires avec les valeurs "Pic" mais aussi votre quantité de RAM et les valeurs de MV mini et maxi du page file au moment du test, j´indique plus bas comment accéder aux paramètres de la MV. De toute façon, une valeur maxi très élevée ne fait jamais de mal, ça permet de pallier à une situation extrême.
Si vous êtes débutant, je vous conseille de passer au paragraphe suivant car celui-ci est un peu technique.
En fait, ces mythes viennent d´une mauvaise connaissance du fonctionnement de la MV. J´ouvre une parenthèse Win9x car c´est depuis ce moment-là que le mythe du swap de taille fixe est né.
Déjà sous Win9x, beaucoup de gens s´imaginaient que leur page file (fichier swap) était très utilisé par Windows car ils voyaient sa taille changer sans arrêt, il grandissait quand on démarrait des applications et diminuait quand on les arrêtait. C´est un raisonnement logique que je comprends parfaitement mais la réalité est tout autre. La seule chose qui prouve qu´un page file est utilisé, c´est son usage et non sa taille.
Pour faire simple, un usage = 0 pendant plusieurs jours signifie que vous avez assez de RAM, en rajouter n´apporterait rien.
Il est courant sous 9x d´avoir un swap de 100 MB mais son usage est à zéro. C´est avec l´utilitaire sysmon que vous pourrez le constater. Ce qui veut dire que si vous voyez votre fichier swap qui passe de 40 MB à 100 MB mais toujours avec un usage à zéro, Windows n´a rien écrit dedans, il s´est contenté d´allouer de la place, comme une réservation. J´ai déjà vu mon swap passer de 0 MB à 85 MB en une fraction de seconde, comment imaginer que Windows ait écrit 85 MB en si peu de temps ? L´usage était toujours à 0 et Windows a juste réservé de la place en mettant la FAT à jour. L´argument "performances" mis en avant par les partisans du page file de taille fixe s´écroule du coup. Ceux qui continuent à prétendre que c´est mieux n´ont pas pris la peine de tester pendant une période assez longue les valeurs du page file, taille ET usage et confondent taille avec usage. Fin de la parenthèse 9x.
Qu´en est-il de la "bascule rapide utilisateur" ?
Cette fonctionnalité permet à plusieurs utilisateurs de travailler sur le même PC, comme si c´était des PC différents. Mais pour ça, il faut sauver sur disque les données en RAM de l´utilisateur non-actif, le page file doit alors être plus gros que ce qui est préconisé ci-dessus. Il est difficile de donner une valeur adéquate, c´est seulement en expérimentant qu´on trouvera la bonne taille du page file. On peut commencer en mettant comme taille minimale l´équivalent de la moitié de la RAM pour chaque utilisateur. Ce qui signifie que si on a 512 MB de RAM et qu´on a 3 utilisateurs, ça fait 256 MB x 3, soit 768 MB de page file.
Problèmes avec la MV
XP signale parfois des messages du genre "mémoire insuffisante" ou "mémoire virtuelle insuffisante", voici certaines causes possibles :
- la taille maximale pour le page file est trop basse ou l´espace disque encore disponible est trop faible. Voir ci-dessus l´explication concernant la manière dont XP gère le page file, c´est uniquement de la réservation d´espace disque que réclame XP.
- le page file est corrompu, peut-être lors d´un mauvais shutdown. Pour régler ce problème, il faut désactiver la MV (en cliquant dans la case prévue) et redémarrer XP.
On peut alors détruire le fichier pagefile.sys (qui a les attributs "caché") sur chacun des disques, si on a plusieurs page file. Puis, on peut réactiver la MV et redémarrer afin que XP recrée ce fichier.
- le page file a été mis sur un disque différent que le C mais sans laisser un minimum sur le C (voir ci-dessus)
- il y a un problème avec des logiciels extérieurs à XP : ça peut être causé par Norton Live update mais aussi par une ancienne version de l´ "Application Accelerator" d´Intel (avant 2.1), il faut le désinstaller et charger la mise à jour à partir du site d´Intel.
- il peut y avoir un problème de pilote pour les disques durs IDE, il faut supprimer le contrôleur disque dans le gestionnaire de périphériques et redémarrer afin que le Plug and Play le redétecte.
- avec un système de fichiers en NTFS, les permissions pour le répertoire racine du disque où a été créé le page file doivent être "Full control" pour SYSTEM. Si ce n´est pas le cas, il se peut qu´au démarrage, on ait un message disant qu´il n´est pas possible de créer un page file.
