LinuxLudus: Memoria virtuale: dubbio su "free"
Davide Benini
dbenini@gmail.com
Gio 30 Ago 2007 21:18:46 CEST
On 25/08/2007, Valerio Pachera <sirio81@gmail.com> wrote:
> Leggevo prima l'articolo sulla memoria virtuale di linux&Co.
>
> Partiamo dalla frase "La memoria virtuale non è 'un modo per credere
> di avere più RAM di quanta se ne possieda', come spesso si dice, ma un
> modo per costruire i 4 GB di indirizzamento di un programma a proprio
> piacimento..."
La memoria virtuale è _anche_ un modo per far credere a un processo di
avere più RAM a disposizione di quanta realmente se ne possieda.
> Correggetemi se sbaglio: i processori x86 a 32 bit supportano
> nativamento fino ad un massimo di 4Gb di RAM.
> Se ho 4 giga di RAM, 1 è usato dal kernel e non dai programmi "user space".
Su una macchina x86 a 32 bit, indipendentemente dal fatto che tu abbia
a disposizione 4GB di RAM o meno, lo spazio di indirizzamento di ogni
_processo_, che è isolato da quello degli altri, è di 4GB, di cui 1 è
assegnato al kernel. Alcuni kernel (come ad esempio il kernel RHEL
hugemem) supportano il "4GB/4GB split" che permette di avere 4GB per
il kernel e (quasi) 4GB anche per i processi in user space.
> Secondo voi, se ho una macchina con 4Gb di ram installati, un kernel
> con il supporto per i 4gb attivo, il comando "free" mostra 3 o 4 giga
> di RAM?
Eccoti accontentato:
[dbenini@localhost ~]$ free
total used free shared buffers cached
Mem: 4147776 4131856 15920 0 84868 3843732
-/+ buffers/cache: 203256 3944520
Swap: 2031608 212 2031396
Ciao,
-- db --
Maggiori informazioni sulla lista
linuxludus