Le mar, 05 oct 1999, vous avez �crit :
> Salut tout le monde,
> 
> Voil� j' aimerai savoir pourquoi quand je ferme un programme la m�moire
> vive qui lui �tait allou�e ne se lib�re pas de suite .
> Ce ph�nom�ne est parfois appell� Memory(ie?) Leaks en anglais et j' ai
> l' impression que sous linux c' est syst�matique . Ainsi par exemple : 
> J' ai 64 m�gas de mem vive, qd je demarre X il m' en reste environ une
> 30 aine de libre
> je lance netscape,  the gimp , kfm , quelques consoles et il m' en reste
> presque plus . Je ferme tous ces programmes et lance ktop r�sultat , c
> comme si j' avais rien ferm� ! Je fais un free en console et j' obtiens
> pareil ..
> Bref est-ce que c 'est quelque chose de bien connu et est-ce que les
> noyaux futurs vont r�gler ce probl�me ?
> 
> -- 
> Amicalement .

Salut,
ce n'est pas un trou de m�moire, mais linux utilise *toute* la m�moire
disponible pour le cache disque, c'est pour ca qu'apres avoir lance puis
quitt� 2 ou 3 programmes, ils sont encore dans le cache disque et toute ta
memoire semble utilisee. (regarde le pseudo fichier /proc/meminfo)
Exemple chez moi :
[jice@taz /proc]$ cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  98033664 89718784  8314880 18894848  3067904 49582080
Swap:        0        0        0
MemTotal:     95736 kB
MemFree:       8120 kB
MemShared:    18452 kB
Buffers:       2996 kB
Cached:       48420 kB
SwapTotal:        0 kB
SwapFree:         0 kB                                                          

En fait, il ne reste que 8Mo sur les 96Mo, mais avec 48Mo de cache disque !

Cette facon de faire accelere grandement les choses.

A noter que lorsque linux a besoin de memoire vive pour un programme, il
diminue si besoin le cache disque !

a+

Jean-Christophe

Répondre à