Chapitre 5. Mémoire
Veuillez lire ce chapitre pour avoir un aperçu des fonctionnalités de gestion de mémoire disponibles avec Red Hat Enterprise Linux et pour savoir comment utiliser ces fonctionnalités de gestion afin d'optimiser l'utilisation de mémoire dans votre système.
5.1. HugeTLB (« Huge Translation Lookaside Buffer »)
Les adresses de la mémoire physique sont traduites en adresses de mémoire virtuelle dans le cadre de la gestion de la mémoire. La relation mappée des adresses physiques aux adresses virtuelles est stockée dans une structure de données appelée la table des pages. Comme la lecture de la table des pages pour chaque mappage d'adresse prendrait du temps et serait coûteuse en termes de ressources, il existe un cache pour les adresses récemment utilisées. Ce cache est se nomme le TLB (« Translation Lookaside Buffer »).
Cependant, le TLB peut uniquement mettre en cache un certain nombre de mappages d'adresses. Si un mappage d'adresse requis ne se trouve pas dans le TLB, la table des pages devra tout de même lire pour déterminer le mappage entre l'adresse physique et l'adresse virtuelle. Ceci est appelé raté TLB (de l'anglais, « TLB miss »). Les applications ayant des besoins importants en mémoire sont les plus susceptibles d'être affectées par les ratés TLB, plus que les applications ayant des besoins en mémoire minimes, ce à cause de la relation entre leurs besoins en mémoire et la taille des pages utilisées pour mettre en cache les mappages dans le TLB. Puisque chaque raté implique la lecture de la table des pages, il est important d'éviter ces ratés à chaque fois que possible.
HugeTLB (« Huge Translation Lookaside Buffer ») permet à la mémoire d'être gérée en segments de très grande taille afin que davantage de mappages d'adresses puissent être mis en cache à la fois. Ceci réduit la probabilité de ratés TLB, ce qui se traduit par une amélioration des performances des applications ayant des besoins importants en mémoire.
Des informations sur la configuration de HugeTLB peuvent être trouvées dans la documentation du noyau :
/usr/share/doc/kernel-doc-version/Documentation/vm/hugetlbpage.txt