OVH Cloud OVH Cloud

info sur allocation mémoire

1 réponse
Avatar
awalter
Bonjour,

j'ai besoin d'info sur l'instruction memorymap() utilisée dans mon appli en
C sour unix V, en effet le man n'est guère explicite et renvoie au fichier
<malloc.h> qui ne contient pas plus d'info. En fait je voudrais connaitre la
signification des info retournées par la fonction, à savoir :
arenastart : 1087094540
arenaend : 1184776188
# of blocks : 6945
# of free blocks : 223
# of used blocks : 6722
# of smblk blks : 0
total space used : 97681648
space in free blocks : 96511536
space in used blocks : 1170112
space in smblk blocks : 0


Merci de votre aide

1 réponse

Avatar
Bob qui Trolle
awalter wrote:
Bonjour,

j'ai besoin d'info sur l'instruction memorymap() utilisée dans mon appli en
C sour unix V, en effet le man n'est guère explicite et renvoie au fichier
<malloc.h> qui ne contient pas plus d'info. En fait je voudrais connaitre la
signification des info retournées par la fonction, à savoir :
arenastart : 1087094540
arenaend : 1184776188
# of blocks : 6945
# of free blocks : 223
# of used blocks : 6722
# of smblk blks : 0
total space used : 97681648
space in free blocks : 96511536
space in used blocks : 1170112
space in smblk blocks : 0


Merci de votre aide


Je ne sais pas si memorymap() existe sur un autre Unix qu'HP/UX.

Normalement, un appel à memorymap(1) renvoyant un résultat semblable à
ce que tu décris est précédé d'une liste de blocs de mémoire alloués ou
libres.

Généralement, on l'emploie à proximité d'un point de sortie d'un
programme, lorsqu'on pense avoir libéré toutes les ressources allouées.
Auquel cas, si # of used blocks n'est pas égal à zéro, c'est qu'on a
oublié de libérer quelque chose (puisqu'au moins un bloc mémoire reste
utilisé).