Mémoire de surcharge Linux

12

J'ai étudié la surcharge de mémoire sous Linux en utilisant /proc/sys/vm/overcommit_memory, et j'ai lu quelques articles qui ne disent pas la même chose.

Ce document , sous l'intitulé "Aller dans la mauvaise direction", poursuit en disant: "valeurs 1: faire une surcharge, et 0 (par défaut): ne pas", mais dans les lignes suivantes, il mentionne, entre autres choses, que ce n'est pas vrai et que 0 signifie "devinez combien le surengagement est raisonnable". Cela signifie que la surcharge de mémoire n'est pas désactivée à l'aide de la valeur 0, non?

Il indique également que 1 indique «ne jamais refuser de malloc ()», 2 signifiant «être précis sur le sur-engagement - ne jamais engager un espace d'adressage virtuel plus grand que l'espace de swap plus une fraction overcommit_ratio de la mémoire physique».

Le magazine Red Hat , en revanche, déclare: "si la valeur est 0, le noyau vérifie s'il y a suffisamment de mémoire libre pour accorder une demande de mémoire à un appel malloc à partir d'une application. S'il y a suffisamment de mémoire, alors la demande est acceptée. Sinon, elle est refusée et un code d'erreur est renvoyé à l'application. " Cela ressemble exactement à la désactivation de la surcharge.

"Si la valeur est définie sur 1, le noyau accorde des allocations supérieures à la quantité de RAM physique et permute dans le système comme défini par la valeur overcommit_ratio .... Si le paramètre dans ce fichier est 2, le noyau autorise toutes les allocations de mémoire , quel que soit l'état actuel de l'allocation de mémoire. " En termes de valeurs 1 et 2, c'est l'opposé de ce que le doc précédent a dit, non?

Est-ce que quelqu'un sait ce qui est réellement correct et s'il est possible de «désactiver» la surcharge?

Doddy
la source
Oublié celui-ci! Désolé pour ça.
Doddy

Réponses: