• [^] # Re: Question bête...

    Posté par . En réponse au message Erreur "Cannot allocate memory" généralisée. Évalué à 1.

    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.