Comprendre et utiliser le fichier de pagination (SWAP) de Windows

La plupart d’entre vous connaissent et utilisent déjà le SWAP sur les serveurs Windows et/ou les machines Linux/Unix. Néanmoins, on voit très (trop) souvent des serveurs pour lesquels les valeurs sont laissées par défaut au mépris des règles élémentaires d’administration.

Le SWAP, c’est quoi ?

Avant de rentrer dans le détail il convient de savoir qu’un programme Windows quel qu’il soit ne s’exécute qu’en ayant d’abord été chargé en mémoire RAM. Ainsi, plusieurs programmes peuvent s’exécuter en parallèle du moment qu’ils ne chargent pas la mémoire au même moment. C’est d’ailleurs justement lorsqu’on imagine que Windows puisse être saturé en RAM par de multiples programmes lancés simultanément qu’on s’intéresse à la notion de SWAP. L’idée est de faire croire à Windows que la mémoire RAM disponible est supérieure à celle réellement présente – matériellement – dans l’ordinateur. Le procédé de SWAP consiste donc à déplacer temporairement les données de la mémoire physique vers un fichier dit de « pagination » placé sur le disque dur et à revenir en état normal dès que la charge mémoire redescend.

Le terme SWAP est d’ailleurs un peu dévoyé dans le sens ou ce n’est plus son nom officiel depuis Windows NT. Puisque sous les environnement Linux/Unix on conserve cette appellation, le principal est de se comprendre et on l’utilise encore majoritairement dans l’univers Windows. Bref, vous l’aurez compris, sans fichier de pagination, les machines ne pourraient pas lancer autant de programmes simultanément ; certains programmes ne pourraient aussi tout simplement ne pas tourner. De même, on évite probablement un nombre incalculable de plantages…

Comment configurer le fichier de pagination ?

Faîtes un clic droit sur le Poste de travail, puis Propriétés. Ensuite, sélectionnez l’onglet Avancé et cliquez sur le bouton Paramètres.

De nouveau, sélectionnez l’onglet Avancé et cliquez sur le bouton Modifier.

Vous voilà rendu dans la configuration de la mémoire virtuelle, autrement dit du fichier de pagination de votre machine. Une bonne pratique indispensable consiste à déporter le fichier de SWAP du disque de démarrage pour améliorer les performances. En effet, si le fichier de pagination se trouve dessus, Windows devra effectuer les opérations de lecture et d’écriture à la fois sur le dossier système et sur le fichier de pagination, ce qui dégradera inévitablement les performances. Comme la plupart du temps il s’agira de C: on pensera bien à garder en tête de ne donc jamais définir le SWAP dessus contrairement à la valeur par défaut.

Ici on a choisi de définir le SWAP sur la partition F: et on lui a alloué une taille initiale de 2000 Mo (on verra plus tard pourquoi ce n’est pas recommandé…). Cela signifie qu’à chaque démarrage Windows saura qu’il peut commencer à « swapper » avec 2 Go. Comme on a également choisi de définir une taille maximale à 6142 Mo, le système calculera si nécessaire la taille maximale entre 2000 et 6142 Mo dont il aura besoin chaque fois qu’il devra swapper.

Lorsque vous définissez votre taille de mémoire virtuelle personnalisée, pensez bien à cliquer sur le bouton Définir et à redémarrer pour prendre en compte les modifications.

Vous désirez probablement matérialiser vos opérations. Pour cela, il faut afficher le fichier pagefile.sys qui est masqué par mesure de sécurité. Si vous voulez afficher les fichiers systèmes, rendez-vous dans les Options des dossiers puis décochez la case Masquer les fichiers protégés du système d’exploitation (recommandé). Un message vous avertira du risque que cela peut engendrer, par exemple si vous veniez à supprimer un fichier important. N’oubliez pas enfin d’Afficher les fichiers et dossiers cachés.

Maintenant que les fichiers systèmes sont affichés, vous pouvez observer la présence du fichier pagefile.sys configuré à 2 Go sur la partition F: de votre serveur Windows Server 2003 (utilisé pour l’exemple, mais l’opération est tout autant valable pour des systèmes plus anciens ou récents).

Appliquer les bonnes pratiques de pagination mémoire

Maintenant que l’on sait définir le SWAP sur une machine Windows, reste à le faire de façon argumentée et à suivre les bonnes pratiques de l’éditeur. Si pour le poste d’un utilisateur on pourra arguer du fait que la place disque manque et qu’un fichier de SWAP doit être dynamique et extensible au besoin, il en est tout autre pour un serveur où la place disque ne doit jamais primer sur les performances, car il est bien question de performances ici. Si Windows crée automatiquement le fichier de SWAP à chaque démarrage, le fait de le rendre extensible engendre naturellement une fragmentation disque et une chute des performances causée par le « retaillage » fréquent en fonction des besoins variables de mémoire virtuelle supplémentaires, au moment même où votre serveur crie famine et désire swapper…

Plutôt que de le laisser en plus calculer la taille de SWAP à utiliser, prenez pour habitude de toujours figer votre fichier de pagination à 1,5 ou 2 fois la taille totale de votre mémoire physique. Pour l’exemple on a préalablement défini une plage de SWAP sur un serveur Windows Server 2003 avec 4 Go de RAM. Corrigeons donc cela et appliquons les bonnes pratiques en figeant à 1,5 fois la taille totale de mémoire physique. Vous l’aurez peut-être également remarqué, on a aussi pris soin de rétablir le multiple de 1024 et de changer la valeur 6142 à 6144 (6 x 1024).

  1. #1 par Tiger77 le 30 août 2016 - 8 h 41 min

    Super post, merci !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :