Sur 32-bit, avec HIGHMEM ou non, la mémoire virtuelle par processus est limitée à 3B. Le dernier GB (à partir de l'adresse 0xc0000000) est mappé par le noyau, pour éviter de devoir flusher le TLB à chaque changement de contexte user mode/kernel mode.
Il existe un patch 2G/2G qui permet au noyau d'utiliser jusqu'à 2G de RAM sans HIGHMEM, mais n'est pas couramment utilisé.
Il exist(ait ?) aussi un split 4G/4G qui permettait d'utiliser jusqu'à 4G de mémoire, mais donc au prix d'un flush TLB à chaque changement de contexte.
[^] # Re: Question bête...
Posté par neologix . En réponse au message Erreur "Cannot allocate memory" généralisée. Évalué à 1.
Il existe un patch 2G/2G qui permet au noyau d'utiliser jusqu'à 2G de RAM sans HIGHMEM, mais n'est pas couramment utilisé.
Il exist(ait ?) aussi un split 4G/4G qui permettait d'utiliser jusqu'à 4G de mémoire, mais donc au prix d'un flush TLB à chaque changement de contexte.