slackit-ml
[Top][All Lists]
Advanced

[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-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]