Depuis l’époque héroïque de Windows 3.1 jusqu’au récent Windows 11, l’optimisation de la mémoire virtuelle a été un des sports favoris de tous les tweakers. De bonnes idées ont souvent permis d’améliorer les performances, mais depuis le temps, on entend de nombreux conseils contradictoires, dont certains, absurdes et dépassés restent encore des règles pour beaucoup. Il est donc temps de faire le point en ayant une réflexion rigoureuse.
Sommaire
La mémoire virtuelle : première partie
Qu’est-ce que c’est ?
On connaît la mémoire virtuelle sur nos PC depuis l’avènement de l’interface graphique. Un système graphique et capable d’exécuter plusieurs programmes à la fois nécessite beaucoup plus de mémoire qu’un OS comme le DOS, où la seule interface avec l’utilisateur est la ligne de commande, et où les ressources ne sont jamais partagées entre différents programmes. La mémoire vive des PC suffisant rarement à contenir toutes les informations nécessaires, on a commencé à remplacer celle qui manquait par un espace alloué sur le disque dur. Quand la RAM est remplie, les informations nécessitant la vitesse la moins importante commencent à être stockées sur le disque dur, dans un fichier nommé ” fichier d’échange “. Par défaut, Windows créé le fichier d’échange de manière dynamique : Il est créé au besoin, là où il reste de la place, c’est à dire en bout de disque. De plus, sa taille est variable. Il peut donc se retrouver facilement fragmenté. Cette méthode n’est guère efficace, nous verrons plus loin pour quoi.
Comment et où la régler ?
Les paramètres du fichier d’échange sont accessibles à partir des propriétés système de Windows. On y accède par un clique droit sur le poste de travail, ou en passant par le panneau de configuration. Ils se trouvent dans la section performance/mémoire virtuelle. Afin de pouvoir intervenir, et même si Windows le déconseille, demandez de laisser spécifier vos propres paramètres.
Rendre le fichier d’échange permanent
La première recette à appliquer pour améliorer les performances est connue depuis toujours : Il faut rendre le fichier d’échange permanent, c’est à dire lui donner une taille et une position fixe, allouée une fois pour toute. Cela permet bien évidemment d’éviter la fragmentation du fichier, dramatique pour sa vitesse de lecture, la tête de lecture du disque dur ayant de nombreux allez retour à faire entre les différentes parties du fichier. Ca nous donne également la possibilité de contrôler sa taille, et sa position sur le disque, de manière encore à augmenter la vitesse de Windows. Pour rendre le fichier d’échange permanent, il faut rentrer la taille qu’on lui donne en tant que valeur mini et valeur maxi. De plus, pour que ce fichier soit bien contigu (en un seul bloc), il faut faire une défragmentation du disque avant de le créer.
Où placer le fichier d’échange ?
On trouve encore de nombreuses réponses absurdes à cette question, inspirées par différents autres systèmes de mémoire virtuelle. L’une des plus commune est celle qui consiste à créer une partition de son disque dur à l’unique fin d’y mettre le fichier d’échange. Cette méthode, inspirée du monde Linux, s’explique également comme une volonté d’éviter la fragmentation du fichier. Celle-ci est en effet due à la présence sur la partition système ou la partition de stockage de fichiers déjà fragmentés, séparés par des espaces libres qui sont plus ou moins comblés par les fragments du fichier d’échange. Cependant, si le fichier d’échange est défini une fois pour toute en un seul bloc, cet argument perd tout son intérêt. Cette méthode qui fait gagner de la vitesse lorsque la gestion de la mémoire est dynamique, en fait perdre lorsque l’on utilise un fichier fixe. En effet, le disque dur est plus rapide sur ses premiers cylindres qui correspondent aux premiers fichiers des premières partitions. Reléguer le fichier d’échange sur une partition secondaire, comme le laisser en fin de disque revient à brider de manière non négligeable sa vitesse de lecture. Il faut donc placer notre fichier au début de la première partition du disque, là où le défragmenteur de Win98 a la bonne idée de placer les fichiers les plus souvent utilisés. Il existe en gros deux méthodes :
-
Première méthode : utiliser un utilitaire pour déplacer le fichier d’échange en début de disque. Cette méthode est intéressante lorsque l’ordinateur dispose de peu de RAM (< ou = à 64Mo) et utilise donc le fichier d’échange de manière constante : il faut que celui-ci soit en priorité sur la zone la plus rapide du disque dur. Norton Utilities 2000 permet de réaliser cette opération. Il n’est bien sûr pas question d’acheter NU rien que pour ça, mais comme c’est une opération que l’on ne fait qu’une fois, la version de démonstration, qui a été distribuée avec certains magazines et toujours disponible sur le web, suffit largement.
-
Seconde Méthode : créer le fichier d’échange juste après l’installation de Windows de manière à ce qu’il commence au 200e ou 250 e Mo du disque dur. Suffisante pour ceux qui ne veulent pas se prendre la tête, elle est même conseillée lorsqu’on a beaucoup de RAM : Pourquoi priver les fichiers les plus souvent utilisés de la zone la plus rapide du disque pour y mettre un fichier qui sert tout le temps, mais peut être un peu moins souvent que iexplore.exe ou shell32.dll…
Enfin, pour ceux qui possèdent deux disques durs aussi rapides l’un que l’autre, le top est de placer le système et les applications sur la première partition du premier, et le swap sur la première partition du second (voir l’astuce Déplacer le swap sur un second disque). Mais attention, ne comptez pas augmenter vos performances si vous recyclez à ces fins un vieux disque dur.
Quelle taille lui donner ?
Là encore, on écoute beaucoup d’inepties à ce sujet : La plupart des gens vous diront de lui donner 2 à 3 fois la taille de votre mémoire vive. C’est bien sûr parfaitement idiot : plus on a de RAM, moins on a besoin de swap ! De plus l’utilisation du swap par Windows dépend énormément de l’utilisation que vous faites de votre ordinateur. Il n’y a donc pas de moyens simples pour déterminer cette taille. Dans tous les cas, et même si il ne sert pas, il faudra lui donner une taille non nulle, car autrement certains programmes refuseront de tourner. Maintenant, il faut aussi être capable d’évaluer vos besoins. Voici une méthode simple : Tant que votre mémoire virtuelle est gérée de manière dynamique, utilisez le moniteur système de Windows pour voir quelle taille fait le swap lorsque vous utilisez votre PC de manière TRES intensive (beaucoup de vos applications chargées en même temps).
Utilisez la valeur maxi atteinte lors de vos essais, en la majorant d’une marge de quelques dizaines de Mo. Et voilà !
Dernière mise à jour le 15 juin 2024