4.5. Implications de la mémoire virtuelle au niveau de la performance

Alors que la mémoire virtuelle permet aux ordinateurs de traiter plus facilement des applications plus grandes et plus complexes, il faut, comme c'est la cas avec tout outil puissant, en payer le prix. Dans le cas présent, le prix à payer se situe au niveau de la performance — un système d'exploitation doté d'une mémoire virtuelle effectue beaucoup plus de tâches qu'un système d'exploitation ne pouvant prendre en charge de mémoire virtuelle. Dans de telles circonstances, le recours à la mémoire virtuelle entraîne toujours une réduction de performance par rapport à l'utilisation de la mémoire pour stocker à 100% la même application.

Toutefois, il n'y a pas lieu de baisser les bras et d'abandonner. Les avantages liées à la mémoire virtuelle sont trop grands pour agir de la sorte. De plus, avec quelques efforts, est possible d'obtenir une bonne performance. Dans ce contexte, il est important d'examiner les ressources du système sur lesquelles l'impact d'une utilisation importante du sous-système de mémoire virtuelle se fait ressentir.

4.5.1. Pire scénario de performance

Avec les connaissances que vous avez acquises dans ce chapitre, examinez pour un instant, les ressources du système qui sont utilisées pour de très lourdes activités de défaut de page et de swapping :

Étant donné l'interdépendance de ces charges, il est facile de comprendre comment un manque de ressources peut entraîner de graves problèmes de performance.

Pour se trouver dans une telle situation, il suffit d'un système doté d'une mémoire vive trop petite, d'une activité de défaut de page intense et d'un système tournant quasiment à capacité en termes de CPU ou d'E/S de disque. À ce stade, le système effectue des opérations d'écroulement (ou thrashing) entraînant inévitablement une réduction de performance.

4.5.2. Meilleur scénario de performance

Dans le meilleur des cas, le temps de gestion système nécessaire pour la prise en charge de mémoire virtuelle ne se traduit, dans un système configuré de manière appropriée, que par une faible charge supplémentaire :

Il est important de garder à l'esprit que l'impact de la mémoire virtuelle sur la performance est minimal, lorsqu'elle est utilisée aussi peu que possible. En d'autres termes, pour une bonne performance du sous-système de mémoire virtuelle, un élément a une influence décisive : la quantité de mémoire vive (ou RAM) doit être suffisante.

Également d'une extrême importance (bien que moindre dans notre contexte) sont des capacités suffisantes en matière d'E/S disque et de CPU. Gardez toutefois à l'esprit que ces ressources aident seulement la performance du système à dégrader plus progressivement lors d'activités de défaut de page et de swapping importantes ; elles n'apportent pas vraiment d'aide en ce qui concerne la performance du sous-système de mémoire virtuelle (bien qu'elles jouent évidemment un rôle important au niveau de la performance du système en général).

Notes

[1]

Un système relativement actif doit toujours effectuer une certaine activité de défaut de page en raison des défauts de page engendrés par des applications récemment lancées et mises en mémoire.