linux user group brescia

immagine del castello

Archivio della mailing list

Memoria "in uso" senza far nulla?

Bauno bauno a inwind.it
Dom 16 Ott 2005 20:03:52 UTC
On Sun, 2005-10-16 at 09:44 +0200, DisKre Panza wrote:

> Domanda:  306136K   di  memoria  "in   uso"?  Che  poi   sarebbero  quasi
> esclusivamente  "buffers" (ma  che cazzo  di "buffers")?  

Buffers = cache del disco.

> Senza aver  fatto
> prtaticamente nulla?

Ma che te ne fai della memoria libera? È sprecata, giusto? Quindi la VM
di linux la utilizza per la cache del disco (ok, anche per altre cose) e
la libera solo se qualche programma lo richiede.

> In base  alle mie  scarse conoscenze,  un programma  alla fine
> dovrebbe rilasciare la memoria utilizzata. Se non lo fa, o c'e` un baco nel
> programma, oppure nel Sistema Operativo (Windows docet).

Senza andare troppo sul tecnico, nei SO che utilizzano la modalità
protetta della CPU (non il DOS, che girava in modalità reale), i
programmi vedono uno spazio d'indirizzamento virtuale che viene gestito
dal Memory Manager del SO. Il MM "mappa" la memoria virtuale utilizzata
dal programma su quella fisica. Quando un programma rilascia la memoria,
in condizioni di "poco" carico, il MM marca le pagine di memoria come
"rilasciate" ma, se non serve, non le ri-alloca ad altri programmi,
visto che il programma in questione potrebbe poi ri-allocare memoria,
etc...IDEM per la cache del disco: man mano che utilizzi il disco, e hai
memoria libera, la cache viene espansa, e non viene "ristretta" fino a
che qualche programma non richiede la memoria utilizzata dalla cache.

> 
>   Non ho mai avuto problemi di  memoria (del resto, non utilizzo nemmeno la
> grafica),  semmai  qualche evidente  rallentamento  se  lavoro quando  quel
> cron.daily e` in funzione. Ma vi pare un comportamento logico?


Certo che lo è. Memoria libera = memoria inutile :)

-- 
Bauno - "Eurydices, oro, properata retexite fata!"
God is real, unless declared integer




Maggiori informazioni sulla lista Lug