>>>>> "Nicolas" == Nicolas Kowalski <[EMAIL PROTECTED]> writes:

    Nicolas> Bonjour.

    Nicolas> Je ne pense pas que ce soit sp�cifique � la Debian, mais
    Nicolas> bon. Nous avons deux grosses machines sous Debian
    Nicolas> GNU/Linux 2.2r3. L'une fait tourner un Linux 2.2.16 et
    Nicolas> l'autre un 2.2.19 fra�chement compil�.  La premi�re a 2
    Nicolas> Go de RAM, la seconde 1.2 Go.

    Nicolas> Sur les deux, les chercheurs de mon labo ont remarqu� que
    Nicolas> g�n�ralement les processus n'arrivent pas d�passer ~500M
    Nicolas> en taille. Ils peuvent en lancer plusieurs en parall�le,
    Nicolas> et la somme d�passe alors 500M, mais un seul n'y arrive
    Nicolas> jamais.

    Nicolas> J'ai fait aussi de mon c�t� un gros test bourrin, bien
    Nicolas> crade :

    Nicolas> main() { while(1) malloc(10); }

    Nicolas> Le process refuse de d�passer cette fameuse limite de
    Nicolas> 500M.


J'ai finalement trouv� une solution � ce probl�me. Elle concerne la
taille et nombre des blocs allou�s. J'ai utilis� le programme
pr�c�dent pour faire quelques statitistiques :

- `chunk' est la taille demand�e pour chaque malloc
- `total' est le nombre total d'octets allou�s
- le dernier nombre indique le nombre de malloc ayant r�ussi.



failure, chunk = 1024, total=576799744
Number of malloc: 563282

failure, chunk = 2048, total=579043328
Number of malloc: 282737

failure, chunk = 4096, total=580165632
Number of malloc: 141643

failure, chunk = 8192, total=580739072
Number of malloc: 70892

failure, chunk = 16384, total=581009408
Number of malloc: 35463

failure, chunk = 32768, total=581140480
Number of malloc: 17736

failure, chunk = 65536, total=581173248
Number of malloc: 8869

failure, chunk = 131072, total=715390976
Number of malloc: 5459

failure, chunk = 262144, total=849608704
Number of malloc: 3242

failure, chunk = 524288, total=1117782016
Number of malloc: 2133

failure, chunk = 1048576, total=1654652928
Number of malloc: 1579

...
A partir de l� les machines s'�croulent, j'ai alors laiss� tomber.


Bref, pour ne pas �tre ennuy�s, les d�veloppeurs du labo vont devoir
repondre eux-m�mes la gestion de la m�moire :-|.
Je subodore un bug de la glibc...


Merci � tous ceux qui ont essay� de m'aider.

Nicolas.



Répondre à