Re: Taille processus limitee ?
>>>>> "Nicolas" == Nicolas Kowalski <Nicolas.Kowalski@imag.fr> 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.
Reply to: