Changer la taille de mes pages de memory?

Je voudrais changer la taille de la page de mon kernel de 4 Ko à 4 Mo car j'ai eu beaucoup de RAM sur mon ordinateur et je ne suis plus à court de time.

L'idée est que les programmes nécessitant de grandes quantités de memory passent less de time à allouer les pages. Je suppose que cela améliorerait les performances, et j'aimerais essayer.

Je ne peux pas find n'importe où en cours d'exécution make menuconfig . Y-a-t-il un moyen de faire ça?

Vous voulez probablement regarder Transparent Hugepages . L'élément .config est CONFIG_TRANSPARENT_HUGEPAGE. Notez que l'activation de cette option ne vous donnera pas automatiquement d'énormes pages. Vous devez définir le paramètre CONFIG_TRANSPARENT_HUGEPAGE_MADVISE sur 'n', afin de le définir par défaut.

Notez également que cela ne vous permet pas de choisir une taille de page arbitraire. Je permet d'utiliser l'énorme taille de page de l'architecture. Pour x86_64, il s'agit de 1Mo, voir https://en.wikipedia.org/wiki/Page_(computer_memory)#Huge_pages pour le tableau complet.

Le paramètre PAGESIZE est défini à la compilation du kernel. Cette sélection n'est valable que pour le matériel i386. Si vous exécutez un système 64 bits ou une autre architecture, la taille de la page est de 4 Ko et ne peut pas être modifiée.

Les dalles semblent être une solution exacte que vous searchz. Les dalles sont des unités de memory pré-allouées par le kernel et devraient plus ou less éviter le surcoût d'allocation, ce qui semble juste ce que vous essayez d'atteindre.

Pour plus d'informations, voir Wikipedia: Allocation des dalles

Changer la taille de la page (si c'était possible) à 1MiB entraînerait un gaspillage de memory excessif. Beaucoup de sous-process et de démons (je veux dire des douzaines de) prennent quelques kilos de memory. Est-ce que la memory est bon marché?