System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Gentoo Linux: Plus de 4Go de RAM sur un serveur 32bits!

gentoo-logo.png

Vous connaissez sans doute la règle qui veut qu'avec un processeur 32bits il est impossible d'utiliser plus de 4Go de mémoire. Et bien ce n'est qu'en partie vrai! Pour le reste voila comment utiliser 16Go de RAM sur un serveur 4x Xeon(TM) 3Ghz.

Tout se passe dans la configuration du noyau:

# cd /usr/src/linux
# make menuconfig

Processor type and features  ---> 
High Memory Support (64GB)  --->

ou

# cd /usr/src/linux
# vi  .config

CONFIG_HIGHMEM64G=y

Voila votre système sera capable de détecter et d'utiliser jusqu'à 64Go de mémoire avec votre/vos processeur(s) 32bits.

Mais alors cette limitation des 4Go de RAM maximum c'était du pipeau ?

Non la limite d'adressage d'un registre 32bits est de 2^32o (4294967296 octs) soit a approximativement 4Go mais elle s'applique a un processus et non pas a l'ensemble des processus. Se qui nous permet donc d'utiliser x fois 4Go de mémoire.

De plus certaines de nos applications sont multi-processus (apache, php ...) elles sont donc capables d'exploiter au mieux la mémoire d'un serveur 32bits.

Le 64bits attendra encore un peu! Voyez donc:

ragnarok ~ # uname -pm
i686 Intel(R) Xeon(TM) CPU 3.00GHz
ragnarok ~ # free -m
             total       used       free     shared    buffers     cached
Mem:         16024        690      15333          0        152        388
-/+ buffers/cache:        150      15874
Swap:         1023          0       1023
Par RaX | le samedi, mai 16 2009 08:00

Commentaires

1. jiff

mardi, mai 19 2009 | 15:50

Vrai ET faux: au dessus de 3GB, les performances subissent une énorme dégradation, due au mécanisme qui doit compenser le manque de lignes d'adresses des pages de RAM. A ne réserver qu'à des serveurs lents (HTTP static par exemple).

2. Ohax

mercredi, juin 3 2009 | 14:59

Je suis de l'avis de jiff, l'astuce existe elle aussi pour Windows, mais il faut s'attendre à une chute des performances.