Que fera le système avec les 20 % restants ?
Le noyau utilisera la mémoire physique restante à ses propres fins (structures internes, tables, tampons, caches, peu importe). Le paramètre de surengagement de mémoire gère les réservations de mémoire virtuelle des applications utilisateur, le noyau n'utilise pas de mémoire virtuelle mais une mémoire physique.
Pourquoi ce paramètre est-il obligatoire en premier lieu ?
Le overcommit_ratio
Le paramètre est un choix d'implémentation conçu pour empêcher les applications de réserver plus de mémoire virtuelle que ce qui sera raisonnablement disponible pour elles à l'avenir, c'est-à-dire lorsqu'elles accèdent réellement à la mémoire (ou du moins essaient de le faire).
Réglage overcommit_ratio
à 50 % a été considérée comme une valeur par défaut raisonnable par les développeurs du noyau Linux. Il suppose que le noyau n'aura jamais besoin d'utiliser plus de 50 % de la RAM physique. Votre kilométrage peut varier, c'est pourquoi il s'agit d'un accordable.
Pourquoi je ne devrais pas toujours le régler à 100 % ?
Le régler sur 100 % (ou toute valeur "trop élevée") ne désactive pas de manière fiable le surengagement car vous ne pouvez pas supposer que le noyau utilisera 0 % (ou trop peu) de RAM.
Cela n'empêchera pas les applications de planter car le noyau pourrait de toute façon préempter toute la mémoire physique qu'il demande.
Définir le ratio sur 100 % ne réservera aucun espace pour les pages sauvegardées sur fichier ou les allocations dans le noyau telles que le code du noyau, les tampons réseau, etc.
Les structures dans le noyau seront allouées malgré tout, provoquant un surengagement. Ils sont généralement limités individuellement (par exemple, il existe un paramètre pour les tampons réseau). Je ne pense pas qu'il y ait une limite globale de 50 %, bien qu'une limite globale soit quelque chose sur laquelle on a travaillé dans le but d'héberger des conteneurs.
Les pages sauvegardées sur fichier sont l'endroit où vous exécutez généralement le code de l'espace utilisateur, vous avez donc également besoin d'espace pour cela.