
Envoyé par
jabbounet
hormis les problèmes de limite par applications cités précédemment, il faut aussi regarder comment ta ram est fragmentée...
plus précisément si ton programme fait une grosse allocation de 700 Mo avec un seul malloc/realloc (façon C) ou new (façon C++), et si ma mémoire est bonne, le système dans ce cas cherchera un bloc de mémoire contiguë de 700 Mo. donc même s'il te reste 2 Go de ram, si la fragmentation de ta RAM fait qu'il n'y a pas de zone contiguë suffisamment grande pour recevoir ta demande d'allocation elle échouera.
Ceci dit quand un programme consomme beaucoup de mémoire il faut regarder s'il n'y a pas de duplication de données inutile, et regarder les fuites éventuelle avec un programme comme valgrind par exemple.
Partager