Bonjour à tous,
Je pose une question à des spécialistes de compilateur et/ou d'OS. J'ai des structures qui ont une taille bien définie par instance. J'ai fait des tests d'allocation de millions d'instances, et repéré l'augmentation de mémoire utilisée par rapport à ce que j'allouais théoriquement.
En définitive, sous windows, pour un octet alloué, environ 40 octets sont utilisés. Sous ubuntu avec gnu gcc compiler, pour un octet alloué, environ 2.75 octets sont utilisés.
Une explication possible serait que l'OS alloue une quantité de mémoire proportionnelle afin de conserver une main-mise sur l'application. Cependant, j'aimerais la confirmation ou l'infirmation de la part de spécialistes.
Quelqu'un a-t-il des informations sur l'allocation réelle, dépendante de l'OS, ou du compilateur, en fonction de l'allocation théorique ? Une seconde question serait de savoir comment configurer les paramètres pour permettre de débrider les applications, et passer outre cette allocation supplémentaire.
Dans l'attente de vous lire, cordialement.
Partager