Le fichier SWAP

Un ordinateur qui manque de RAM ? De fort ralentissements lors du lancement de logiciels gourmands ? Ce dossier sur le fichier SWAP est fait pour vous.

 

Le contexte


Dernièrement j’ai été confronté à un ordinateur devenu particulièrement lent après environ deux ans d’utilisation et ce malgré un entretien de qualité.

En plus d’un démarrage prenant 3 minutes, de forts ralentissement se faisaient sentir durant l’utilisation. Ayant moi-même configuré cet ordinateur à l’achat et ayant mis en place une procédure d’entretien mensuelle, une telle chute de performance était source de questionnements.

Malgré ma batterie de tests habituelle, je suis resté impuissant face à la lenteur de cet ordinateur.

C’est là que mes recherches m’ont amené à étudier et à optimiser le fichier SWAP de Windows, aussi appelé fichier d’échange, fichier de pagination, pagefile.sys ou encore fichier de mémoire virtuelle.

 

Le fichier SWAP de Windows


 

Qu’est-ce que la RAM ?

Pour pouvoir comprendre le système autour du fichier SWAP de Windows (pagefile.sys), il me faut tout d’abord vous expliquer un peu le fonctionnement de la mémoire RAM.

 

La mémoire RAM physique

La mémoire RAM (ou mémoire vive) se concrétise physiquement dans votre ordinateur par des petites barrettes comme celles ci-dessous.

Généralement par deux (il se peut qu’il n’y en ai qu’une), elles sont de la même capacité. Par exemple 2x2Go, 2x3Go, 1x8Go etc… pour un total respectif de 4, 6 et 8Go de mémoire RAM. Vous pouvez aussi avoir deux barrettes de capacités différente comme 1x3Go et 1x4Go, cela ne pose pas de problème tant que la capacité total ne dépasse pas celle supportée par la carte mère. Ce qui est déconseillé c’est d’avoir deux barrettes de fréquence différente comme une à 1333MHz et une autre à 1600MHz. En effet, si vous faites cela, votre ordinateur se calera sur la barrette la moins puissante, ici 1333MHz, et vous “gaspillerez” de la puissance de la barrette de 1600MHz.

Sur un Windows, dès que vous lancez un programme, il est chargé en mémoire RAM. Avoir le programme chargé en mémoire permet à Windows un accès plus rapide à celui-ci que s’il essayait d’y accéder sur le disque dur.

Plus vous lancez de programme simultanément (c’est à dire sans refermer ceux déjà ouverts), moins il y a de mémoire RAM disponible (logique). Une fois le maximum atteint, Windows refusera de lancer le programme et pourra même planter. C’est pour éviter cela qu’il existe un fichier SWAP dont je vais expliquer ensuite le fonctionnement.

Il n’est pas toujours possible d’ajouter de la mémoire RAM physiquement car de nombreux ordinateurs n’ont que deux emplacements (slot) pour les barrettes. Ainsi, pour augmenter sa RAM, certes de façon virtuelle, on utilise donc la feinte du fichier SWAP.

 

Explication du fichier SWAP de Windows : le pagefile.sys

Pour augmenter sa mémoire RAM de façon non physique, on peut tricher en utilisant le fichier SWAP de Windows nommé pagefile.sys. Concrètement, on demande à Windows de créer un fichier de taille fixe ou variable qu’il pourra utiliser comme cache pour charger les logiciels.

Les avantages c’est que l’on peut ainsi transformer de l’espace de notre disque dur pour en faire un fichier d’échange (SWAP) considéré comme de la RAM par Windows et ainsi avoir plus de programmes lancés simultanément.

Mais pourquoi s’embêter à avoir de la RAM si on peut faire comme ça ?

Il faut savoir qu’utiliser un fichier SWAP présente deux inconvénients :
On consomme plus d’espace disque. Même si cet argument est de moins en moins valide car la place sur les disques durs n’est plus vraiment la limite première, il n’en reste tout de même pas moins valide pour les personnes ayant un disque dur avec une faible capacité.

La mémoire RAM virtualisée est beaucoup moins rapide d’accès que la vraie mémoire RAM. Et c’est la l’inconvénient majeur. En effet, un ordinateur ayant 2Go de mémoire ram physique et 4Go de mémoire RAM virtualisée sera de base moins rapide qu’un ordinateur ayant 6Go de mémoire RAM physique pour une configuration par ailleurs identique.

Maintenant que vous savez ce qu’est le fichier pagefile.sys, voyons maintenant les différentes configurations possibles.

 

Les différentes configurations possible du fichier SWAP

Il existe trois configurations possible du fichier d’échange. Nous allons maintenant les voir et je vous donnerais les avantages et les inconvénients de chacune.

Mais tout d’abord, voyons comment accéder à l’interface de configuration.

Note:

Pour pouvoir changer la configuration par défaut, il faut tout d’abord décocher la case “Gestion automatique du fichier d’échange pour les lecteurs”. Décocher cette case permet d’effectuer une configuration du fichier d’échange plus précise, car lecteur par lecteur. On peut, par exemple, définir une taille fixe de 4096Go pour un lecteur C, une taille fixe de 2048Go pour un lecteur D et aucun fichier d’échange pour un lecteur F. Décocher cette case est nécessaire pour pouvoir modifier la configuration par défaut. Si vous vous contentez de décocher “Gestion automatique du fichier d’échange pour les lecteurs”, la configuration restera par défaut en “Taille gérée par le système”.

 

Je vais maintenant vous présenter les trois catégories possibles.

 

La configuration par défaut

De base, sur un Windows, le pagefile.sys est configuré en “Gestion automatique du fichier d’échange pour les lecteurs” puis, si l’on décoche, en “Taille gérée par le système.”

Le fichier SWAP - Configuration SWAP géré par le système

Configuration par défaut lorsque l’on décoche « Gestion automatique du fichier d’échange pour les lecteurs ».

L’utilisateur n’a donc pas à s’en soucier, Windows augmente et réduit la taille du fichier en fonction des besoins du système. Cela donne au moins l’avantage d’être transparent pour l’utilisateur.

L’inconvénient de cette configuration, c’est qu’à force d’être réduit, augmenté et ainsi de suite, le pagefile.sys fini par être fragmenté. Il ne faut pas oublier non plus que le disque dur vit lui aussi de son côté, au gré des installations et désinstallation de programmes, de téléchargements et suppressions de jeux, vidéos, photos… Avec tout cela, le fichier SWAP finira par être complètement fragmenté si vous laissez cette configuration par défaut.

Et un fichier d’échange fragmenté perd totalement de son intérêt.

En effet, Windows va charger dans la mémoire SWAP les logiciels démarrés et va devoir ensuite aller chercher les informations à X endroits du disque. Cette recherche va ralentir considérablement les processus et consommer énormément de temps lecture disque.

Il faut rappeler que le but du fichier SWAP à l‘origine est d’augmenter virtuellement sa mémoire vive et ainsi de pouvoir charger plus de programmes en simultané. Cependant cela peut aussi être utile lorsque, par exemple, peu de programmes sont lancés mais que l’un d’entre eux à un besoin temporaire de plus de RAM. Cette mémoire virtuelle va permettre de conserver la vitesse de réaction de l’ordinateur. Si vous avez un fichier SWAP fragmenté, l’ordinateur va perdre de cette rapidité jusqu’à un certain point où il sera plus lent avec ce pagefile.sys fragmenté que s’il n’en avait pas du tout !

Note :

Le temps de lecture disque, la fragmentation et la défragmentation sont des sujets que j’ai abordé dans un autre de mes dossiers, (La fragmentation et la défragmentation), et que vous pouvez lire pour plus de détails et une meilleure compréhension du sujet.

 

C’est pour ça que je déconseille de laisser cette configuration par défaut. Abordons maintenant la deuxième configuration que je déconseille.

 

La configuration à éviter

La configuration “Aucun fichier d’échange” est à éviter. En effet, si votre RAM est entièrement utilisée, très souvent votre ordinateur va se mettre à freezer (l’écran se bloque) ou au mieux, fortement ralentir.

Même si vous avez un disque dur de capacité réduite, je vous conseille de sacrifier un peu de votre espace pour votre fichier d’échange.

Si vous désirez tout de même utiliser cette configuration, sélectionnez là, puis cliquez sur le bouton “Définir”.

Il faudra ensuite redémarrer l’ordinateur pour que la configuration soit effective.

Le fichier SWAP - Définir sans SWAP 1

N’oubliez pas de cliquer sur « Définir » !

 

La configuration optimisée

On préférera donc, à la configuration de base, celle où l’on fixe la taille du pagefile.sys. Pour fixer la taille du fichier d’échange, il faut sélectionner “Taille personnalisée”. Il faut ensuite entrer une taille minimum ainsi qu’une taille maximum. Pour que la taille soit fixe, il faut entrer la même valeur dans les deux champs. Je vous conseille de mettre une taille qui donne 512 x N comme 1024, 2048, 4096, 6144… Personnellement, en fonction de l’utilisation de l’ordinateur par l’utilisateur, je dimensionne le fichier SWAP pour atteindre entre 6144Mo (jamais moins, même pour les petits disques durs) et 10 240Mo de RAM au total.

Lorsque vous avez entré la valeur dans les deux champs, cliquez sur “Définir”. N’oubliez pas de cliquer sur “Ok” le nombre de fois nécessaire pour fermer toutes les fenêtres. Il n’y a pas besoin de redémarrer l’ordinateur pour que la modification de la configuration soit effective.

Le fichier SWAP - Définir la taille manuellement

Et bam ! Plus 6Go de fausse RAM in da computer !

Passer en taille fixe et définie manuellement, c’est bien. Mais si le fichier SWAP géré auparavant automatiquement pas Windows est fragmenté, votre fichier d’échange de taille fixe le sera aussi. Pour éviter cela, il vous faudra défragmenter votre pagefile.sys.

 

Comment défragmenter son pagefile.sys

Avant de vouloir défragmenter votre pagefile.sys, il faut savoir s’il est fragmenté. Pour cela, j’utilise Defraggler, logiciel de défragmentation que je présente dans cet autre dossier : “La fragmentation et la défragmentation”.

Une fois Defraggler lancé et l’analyse effectuée, si votre pagefile.sys est fragmenté, vous aurez un résultat semblable à ces captures d’écran.

Je n’ai pas trouvé de logiciel qui arrive à défragmenter le pagefile.sys. C’est pour cela que j’ai trouvé cette méthode qui consiste à supprimer le fichier SWAP et à le recréer en un seul bloc. Si votre disque dur est peu rempli, elle conviendra parfaitement.

  1. Définir votre configuration comme “Aucun fichier d’échange” et redémarrer l’ordinateur.

  2. Pour l’étape 2, il y a plusieurs possibilités en fonction de l’état de votre disque dur :

    • Si votre disque est peu fragmenté et/ou peu rempli : il suffit de configurer le fichier SWAP en taille manuellement définie comme expliqué précédemment. Analysez de nouveau votre disque dur avec Defraggler et normalement votre pagefile.sys a été créé en un seul bloc. Vous avez un tout nouveau fichier SWAP non fragmenté !

    • Si votre disque est très fragmenté, très rempli ou ayant des fichiers dispersés un peu partout (mais pas forcément fragmentés) : c’est tout de suite plus compliqué, car si vous faites la méthode ci-dessus, lors de la définition de la taille fixe de votre fichier SWAP Windows va créer un fichier d’échange déjà fragmenté à la base. Il y a deux possibilités :

      • Le nouveau fichier d’échange que Windows vient de créer est quand même moins fragmenté que celui d’avant et vous vous en contentez.

      • Vous essayez, avant de redéfinir un fichier d’échange, de défragmenter votre disque puis de compresser l’espace libre (option de Defraggler). Ces deux actions, combinées dans cet ordre, devraient générer un bloc d’espace libre, sans coupure par d’autres fichiers, suffisamment grand pour accueillir votre fichier SWAP, sans que celui-ci soit coupé et donc fragmenté.

      Il faut savoir que la configuration de son fichier SWAP se fait normalement avant d’atteindre ce stade de fragmentation et de dispersion du disque. Il est aussi envisageable de formater son ordinateur afin de recommencer avec une configuration plus optimisée dès le début, et ce surtout si vous n’arrivez pas à obtenir un fichier SWAP non fragmenté malgré les méthodes ci-dessus.

 

Conclusion


Une fois toutes ces modifications effectuées (défragmentation du fichier, augmentation de sa taille et configuration en taille fixe), le gain de vitesse sur l’ordinateur était clairement visible. Pour exemple, la durée de démarrage de l’ordinateur est passé de 3-4 minutes à environ 45 secondes. (Temps d’allumage = temps entre le moment où l’on appuie sur le bouton ON et le moment où l’on peu commencer à cliquer sur les icônes et à avoir une réponse quasi-instantanée de l’ordinateur.)

Il faut savoir que sur les ordinateurs récents et de milieu/haut de gamme (à partir de 8Go de RAM), le fichier SWAP est de moins en moins utilisé, surtout lors d’une utilisation basique comme surfer sur internet ou de la bureautique. Cependant, après plusieurs années d’utilisation, d’installation, de désinstallation, de mises à jour de programmes, de téléchargement de films, musiques et j’en passe, votre fichier SWAP en configuration par défaut ne trouvera pas toujours la place sur votre disque pour s’agrandir en un seul bloc (voir la partie traitant de la création de la fragmentation sur un disque dur dans mon dossier sur La fragmentation et la défragmentation).

Un bon paramétrage de son fichier d’échange permet d’éviter sa fragmentation et de conserver des performances élevées dans le temps, et ce quelque soit la configuration physique de votre ordinateur portable.

J’espère que vous avez trouvé ce dossier utile. Si jamais vous avez une question ou une remarque, n’hésitez pas à laisser un commentaire et j’y répondrai.

A propos de l'auteur :

Xsias

Amateur de jeux vidéo, Xsias est très éclectique. Joueur PC, il apprécie principalement les RTS , les jeux de gestion, les FPS, les RPG et MMORPG. Vous le retrouverez surtout sur The Geek Tree pour des tutos PC.

2 Commentaires

  1. GG GG
    25 août 2015    

    Salut,

    Tout d’abord, merci pour ce bon petit article sur la ram et le swap.
    J’aurais 2 petites précisions/infos pour toi:

    – les barrettes de ram sont souvent par 2: oui, c’est pour pouvoir bénéficier de la technologie dual channel; maintenant, la grande majorité des chipset le gèrent (tous?). A savoir que cette technologie n’est pas si vieille que ça (12 ans en gros pour la démocratisation). Pour info, Intel avait tenté (pour moi il a laissé tombé, sauf peut-être sur des techno serveurs) le triple canal lors de la sortie des premiers i7. Le gain n’était pas énorme par rapport a du dual (problèmes de synchro) et le coût était quand même plus important (coût de la carte mère et des 3 ou 6 barrettes de ram).
    Voila pour les barrettes de ram.

    – concernant le swap: a l’époque (encore 10 ans de ça – comment ça, vieux, moi?), on préconisait de caler un swap au double de la ram (512Mo de ram, 1024 de swap). C’est moins le cas aujourd’hui car on peut facilement avoir 8Go de ram. Je garde néanmoins un peu de swap, ça ne mange pas de pain. Ma petite astuce consiste à placer, lorsque cela est possible, le swap sur un autre disque que le disque système (on ne parle pas de partition mais bien de disque physique). Caler donc à 0 swap sur le disque système et à ta quantité préconisée sur un second disque (limite un disque de recup’ qui traîne par la peut donner un bon coup de pouce; j’ai mis un vieux 200Go sur un pc a la maison et ça aide). Comme tu le dis, le swap simule de la ram et c’est la que sont chargés les programmes; l’OS lit donc sur le disque système ses programmes et les charge en ram ou bien sur un autre disque; on y gagne en temps de lecture/écriture.

    Voila, j’espère que mes explications sont claires, sinon n’hésite pas.

    ++

    • Xsias Xsias
      12 septembre 2016    

      Merci pour ton commentaire, il est très intéressant et surtout très clair.
      Je ne savais pas pour l’histoire autour du dual channel des barrettes de RAM, merci de l’information.
      Pour ton astuce du SWAP sur un autre disque que celui du système d’exploitation, c’est effectivement une excellente idée. Je la garde dans un coin de mon esprit pour la prochaine occasion.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


hors ligne Retrouvez nos vidéos.


Prochains évènements :

Prochain Stream : Tous les dimanches soirs, retrouvez Dryder et Evanhel pour un stream sur notre chaîne Youtube! ou sur notre chaîne Twitch !

Prochain test de jeu : Armikrog par Dryder

Prochain dossier/tutoriel : A venir

Prochaine vidéo : Never Ending Games #2 par Evanhel

Nos réseaux sociaux

  • Youtube
  • Curse
  • Dons

Nos partenaires