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