Comment savoir si mes serveurs utilisent d'énormes pages (Taille de la page de la mémoire)

Nous avons plusieurs serveurs dans un cluster et nous voulons savoir quoi en général, dans quels cas avons-nous besoin de personnaliser d'énormes pages?

J'ai aussi peu quasi

dose "Taille de la page de la mémoire" est égal à d'énormes pages?

Sur mon serveur Linux J'ai entré la commande suivante pour vérifier la taille de la page de la mémoire par défaut

grep Hugepagesize /proc/meminfo

Hugepagesize: 2048 kB

getconf PAGESIZE

4096

Mais, comme tout le monde voyait ici, nous obtenons les résultats de la comparaison, pourquoi?

Quels sont les risques lorsque vous utilisez d'énormes pages?

Désactiver la dose transparente énorme Page - Désactiver l'option d'énormes pages?
Invité:

Hannah

Confirmation de:

Les énormes pages sont intéressantes lorsque des applications nécessitent des comparaisons importantes auxquelles ils effectueront un accès aléatoire, car c'est le pire des cas pour le tampon de radiodiffusion alternatif (TLB). Vous sacrifiez les détails de l'affichage pour les entrées TLB.

Les pages, y compris énormes, peuvent être comparées uniquement avec l'unité de mémoire physique de la même taille et alignées sur cette taille. Ainsi, une énorme page 2 MB doit être comparé à la frontière 2 MB en bélier physique et une énorme page 1 Gb doit être comparé à la frontière 1 GB, car les bits plus jeunes adressent les données à l'intérieur de la page, et vous ne pouvez pas ajouter de compensation.

Cela signifie que d'énormes pages sont généralement réservées lorsque le système est démarré lorsque la mémoire physique n'est pas encore fragmentée. Les applications qui connaissent des pages énormes peuvent utiliser

hugetlbfs

Sélectionnez-les.

Vous devez résoudre à l'aide du paramètre du noyau, si d'énormes pages sont la taille 2 MB ou 1 GB, vous ne pouvez pas les mélanger. Les numéros de page conventionnels sont toujours disponibles. 4 KB.

L'utilisation la plus courante des machines virtuelles (qemu / kvm peut utiliser d'énormes pages), où il vous permet d'enregistrer tout l'affichage de la mémoire de la machine virtuelle dans un petit nombre d'enregistrements TLB, Ce qui, par conséquent, jamais déplacé, l'accès à la mémoire à l'intérieur de la machine virtuelle nécessite une page de recherche de page uniquement dans un contexte invité.

Certains systèmes de base de données prennent également en charge d'énormes pages, mais cela n'est généralement utile que lorsque vous travaillez avec des ensembles de données volumineux et des index.

Des questions:

Il y a ordinaire (4 Kb) Pages et énormes (2 MB ou 1 Gb) pages. Lorsque vous demandez la taille de la page, vous obtenez une taille pour les pages ordinaires lorsque vous demandez la taille d'une immense page, vous obtenez un paramètre pour d'énormes pages. Et des pages ordinaires et d'énormes pages peuvent être utilisées en parallèle, mais vous ne pouvez pas mélanger différentes tailles de page énormes.

Vous obtenez différents résultats, car ce sont des choses différentes. La taille des pages ordinaires est une quincaillerie fixe, ce n'est donc pas une configuration.

D'énormes pages doivent être attribuées à l'avance et, bien que la mémoire soit techniquement "libre", elle ne peut être utilisée pour autre chose que des applications avec des pages énormes, donc tout sauf que ces applications auront moins de mémoire disponible. Ce n'est généralement pas un problème, car vous utiliserez d'énormes pages sur des machines destinées aux applications exigeantes, telles que des machines virtuelles ou des bases de données.

Les énormes pages transparentes tentent de faire de la mémoire disponible sous la forme de tampons et de caues (Contrairement au point 3) Et essayez de fournir des applications de pages énormes qui affichent de gros blocs de mémoire, les applications qui ne sont pas au courant des pages énormes peuvent en bénéficier. - surtout une application qui demande une taille de bloc de mémoire 2 Mb / 1 GB, si possible, une énorme page sera fournie. Il l'aide ou altère la productivité dépend de vos applications. Si vous avez une application avec des pages énormes et que vous souhaitez attribuer une mémoire manuellement, vous devez éteindre. THP, Pendant que le système dans lequel il existe une application de base de données qui ne prend pas en charge les pages énormes, le plus probablement gagné.

Emilie

Confirmation de:

Options évidentes pour utiliser d'énormes pages - C'est quand PageTables (Visible B. / proc / meminfo) devenir des dizaines de gb. Cela signifie une grande surcharge de mémoire et de processeur en raison d'un suivi facile de votre mémoire. Cela se produit avec des tranches de mémoire gigantesques, un grand nombre de processus ou les deux. Souvent dans les applications de base de données.

Les énormes pages réduisent considérablement ces frais généraux, car une entrée de la table de page aborde désormais beaucoup plus de mémoire, disons 2048 KB à la place 4 KB. (Sur d'autres plates-formes, il existe différentes tailles, par exemple, AIX sur POWER Prend en charge la taille des pages 16 MB.)

Énormes pages B. Linux peut ne pas être utilisé pour mettre en cache des fichiers, ennuyer et inefficace lorsqu'il est utilisé malloc () MEGABYTES multiples pour la mémoire non partagée. Ainsi, l'administrateur doit mettre en évidence des pages énormes qui ne peuvent être utilisées que pour certaines fins. C'est un manque d'utilisation d'énormes pages.

Pages énormes transparentes (THP) Essayer de rendre l'administration moins gênante, «déframage» automatiquement la mémoire continue à des pages énormes. L'idée était de faire des pages énormes pré-surbrillées en option. Les avantages sont fortement dépendants de la charge de travail, il peut être nécessaire que trop de ressources de processeur leur coûtent. Coupure THP signifie que vous pouvez toujours utiliser manuellement l'allocation de pages énormes. Parfois, il vaut la peine de se déconnecter THP Et simplement placer les segments de la mémoire de la base de données partagée à d'énormes pages.

Et dernière remarque sur d'énormes pages Linux: Je crois que la direction est ennuyeuse.

La mémoire partagée utilise une interface, mais pour d'autres personnes, vous utilisez la bibliothèque et le système de fichiers. hugetlbfs.

Vous pouvez "dépenser" la mémoire, mettre en surbrillance des pages trop volumineuses et sans configurer l'application pour les utiliser.

Ce nombre de pages doit être mis à l'échelle pour chaque taille de l'hôte, car il s'agit du nombre de pages et non d'un pourcentage de mémoire.

Souvent, la possibilité de mettre en évidence d'énormes pages est limitée à un groupe, la commutation des utilisateurs de la base de données peut entraîner une durée d'inattendue.

Pour répondre aux questions, connectez-vous ou registre