La mémoire virtuelle de Mac OS X n’est pas optimisée

Cloud

La mémoire virtuelle ! Vaste challenge sur Mac OS ! Dans les versions précédentes du système, le fonctionnement de la mémoire posait de multiples problèmes et la colère de certains utilisateurs. Avec Mac OS X, l’avancée d’Unix dans le domaine doit faire disparaître les soucis précédemment rencontrés. A condition de réaliser quelques réglages ?

Sous Mac OS 9, la gestion de la mémoire est un exercice d’arrachage capillaire. L’utilisation de la mémoire virtuelle permet de lancer un plus grand nombre de tâches sans nécessiter de mémoire vive supplémentaire, celle-ci étant simulée sur le disque dur. Le choix est plutôt cornélien : on peut décider de ne pas utiliser la mémoire virtuelle pour améliorer les performances de la machine, mais on perd alors la possibilité d’ouvrir plus de documents. Que se passe-t-il sous Unix, au coeur du nouveau système d’Apple ? Impossible de désactiver la mémoire virtuelle qui est au coeur du système et qui participe même à sa robustesse. Toutefois, dans les premières moutures de l’X, il apparaît que la gestion de cette mémoire, parce qu’elle n’est pas strictement localisée sur le disque dur, grève les performances globales du système ! Une impression de lenteur se dégage…

Pour mieux comprendre, il faut s’intéresser aux rouages du système. Outre la nécessité d’optimisation, Mac OS X nécessite une mémoire virtuelle très efficace pour permettre de supporter des charges de travail lourdes. La mémoire virtuelle repose sur deux notions : les fichiers de swap et le paging. Principe général : lorsqu’une application ouverte n’est pas utilisée, une grande partie de la mémoire vive qu’elle occupe est libérée par le système qui recopie les données dans un fichiers temporaire sur le disque dur (c’est le fichier de swap, mot anglais qui signifie échange). Problème sous Mac OS X, chaque nouvelle application lancée crée un fichier de swap de 80 Mo. De plus, ce fichier n’est pas placé dans une zone protégée du disque dur mais parmi les autres fichiers. Autrement dit, plus grand est le nombre d’applications ouvertes, plus le disque dur mouline. Heureusement, lorsque l’on réactive une application, les 80 Mo ne sont pas recopiés entièrement dans la mémoire vive. Outre le fait qu’il peut ne pas y avoir suffisamment de RAM, ce serait en plus très long. C’est là qu’intervient le processus de paging. Chaque portion de mémoire virtuelle est découpée en « pages » de 4 Ko. Et seules les pages nécessaires sont chargées en mémoire. Quelques centaines de Ko seulement sont alors échangées, ce qui peut correspondre par exemple à une fonction dans un traitement de texte ou au signal sonore de l’application de mail qui prévient qu’un nouveau courrier est arrivé.

Plus de Ram ou un fichier swap mieux placé

On comprend aisément que plus grande est la quantité de mémoire vive moins le système a besoin de recourir à la mémoire virtuelle. Et dans le cas de Mac OS X, les 128 Mo recommandés par Apple semblent être un strict minimum. Andy Moraitis, un utilisateur qui a cherché à optimiser son système, pense qu’un minimum de 256 à 384 Mo s’avèrent nécessaires pour être à l’aise ! Il y a une solution de rechange, qui permet de gagner de 7 à près de 40 % de réactivité suivant que le swap est placé sur le disque de démarrage ou sur un autre volume, mais elle est difficile à utiliser par les néophytes : il faut créer une partition dédiée aux fichiers swap ! Au minimum 80 Mo, la taille standard, et en taillant par multiple de 80 cet espace dédié ! Dans le cas d’un ordinateur équipé de 128 à 256 Mo de mémoire, il faut compter une partition de près de 500 Mo ! Le plus dur n’est sans doute pas là : il convient encore d’indiquer au système d’exploitation où il doit écrire les fichiers swap. Un exercice qui demande à entrer dans le terminal de Mac OS X ! Une véritable offense à la facilité et à la convivialité du Mac ! Andy Moraitis explique dans une note de 18 pages les tenants et les aboutissants concernant le réglage de la mémoire virtuelle sous Mac OS X. Ce réglage n’est pas le seul élément incriminé dans la lenteur du système mais participerait à une amélioration notable. Il faut attendre la sortie de la version 10.1 de Mac OS X pour savoir si Apple a également optimisé son système dans cette direction. Il sera temps de revenir au bidouillage si la firme ne l’a pas fait…