[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Slackit.org] memoria occupata
From: |
Angelo Dell'Aera |
Subject: |
Re: [Slackit.org] memoria occupata |
Date: |
Sat, 19 Jun 2004 16:15:34 +0200 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Sat, 19 Jun 2004 15:00:10 +0200
jo <address@hidden> wrote:
>con un:
>
>#cat /proc/meminfo
>
>mi da:
>as00037:/var/spool/mail# cat /proc/meminfo
> total: used: free: shared: buffers: cached:
>Mem: 263847936 225755136 38092800 110510080 66379776 18759680
>Swap: 254971904 303104 254668800
>MemTotal: 257664 kB
>MemFree: 37200 kB
>MemShared: 107920 kB
>Buffers: 64824 kB
>Cached: 18320 kB
>SwapTotal: 248996 kB
>SwapFree: 248700 kB
[snip]
Questa domanda periodicamente rispunta in qualche ml e sembra confermare
che Vico ci aveva visto giusto quando parlava di corsi e ricorsi... vabbe'
volevo far vedere che qualcosa oltre al kernel hacking la capisco! ;)
Questo comportamento che vedi e' normalissimo. Sfatiamo il mito della RAM
libera... la RAM non utilizzata non serve a nessuno... e adesso capiamo
anche la logica.
Quando il kernel e' chiamato ad allocare memoria la puo' allocare a diversi
livelli, intendendo con cio' che la memoria riservata per il kernel stesso
e le sue strutture dati e' lockata e non puo' MAI essere liberata. La memoria
allocata per le applicazioni e' swap suitable nel senso che se c'e' necessita'
(sistema in out-of-memory) quella porzione di memoria puo' essere swappata di
fatto liberando risorse.
Ora, detto questo, il kernel tende a NON liberare la memoria usata dalle
applicazioni per due buoni motivi :
1- avere in memoria quello che potrebbe servire in futuro aumenta le
performance
2- RAM inutilizzata? E a chi serve?
La cosa piu' logica e' "fino a quando puoi alloca `memoria fresca'...
appena non puoi butta qualcosa (le pagine che non vengono usate da piu'
tempo)". Il discorso e' appena appena piu' complesso in quanto, oltre a
questa memoria, ci sono le disk cache per l'ottimizzazione dell'accesso
ai block device (leggi piu' genericamente accesso a disco) da considerare
(buffer cache e page cache che nel kernel 2.6 si possono vedere come la
stessa cosa) oltre ad altri piccoli dettagli non proprio insignificanti.
Sul mio laptop adesso vedo
address@hidden:~$ free -m
total used free shared buffers cached
Mem: 487 483 4 0 95 139
- -/+ buffers/cache: 248 239
Swap: 478 0 478
Sembra che io sia alle pezze ma in realta' e' l'esatto opposto perche'
ho quasi 240M riservati alle cache e quando servira' quelle cache saranno
le prime ad essere ad essere shrinkate.
Regards.
- --
Angelo Dell'Aera 'buffer'
Antifork Research, Inc. http://buffer.antifork.org
PGP information in e-mail header
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA1EqGpONIzxnBXKIRAkgOAKDLrnk+bN8yITXlUkZSuxkGpDWBWQCgmHHT
4RygLhNzHEmta72OM3YMsTw=
=Y6iT
-----END PGP SIGNATURE-----