Différence d'utilisation de la mémoire entre Go Tool Pprof et Docker Stats
Lors de l'utilisation de Go 1.11, vous pouvez rencontrer un écart d'utilisation de la mémoire signalé par Go outil pprof (runtime.MemStats.sys) et statistiques du docker. Les statistiques Docker s'appuient sur les groupes de contrôle pour obtenir des informations sur l'utilisation de la mémoire, notamment le cache de page et la taille de l'ensemble résident (RES). D'un autre côté, pprof affiche une valeur floue pour l'utilisation de la mémoire, ce qui rend difficile la comparaison directe entre les deux.
Comprendre l'utilisation de la mémoire des groupes de contrôle
les groupes de contrôle fournissent un moyen pour limiter et suivre l’utilisation des ressources dans un conteneur. La métrique usage_in_bytes dans les groupes de contrôle inclut à la fois la mémoire utilisée par le processus et la mémoire mise en cache. Si un conteneur lit des fichiers sur le système hôte, la mémoire mise en cache par le noyau sera également comptée dans usage_in_bytes.
Récupération de mémoire dans Docker
Si un conteneur atteint sa limite de mémoire, Docker tente de récupérer la mémoire inutilisée. Ceci est différent d'une erreur MOO, qui se produit lorsque toute la mémoire a été utilisée.
Façons de limiter l'utilisation de la mémoire
Pour contrôler l'utilisation de la mémoire d'un conteneur Docker, vous peut spécifier une limite de mémoire dans la commande docker run ou dans le fichier docker-compose.yml en utilisant le mem_limit paramètre.
Conclusion
L'écart dans les rapports sur l'utilisation de la mémoire entre les statistiques pprof et docker provient des différentes façons dont ils mesurent l'utilisation de la mémoire. Les cgroups, tels qu'utilisés par Docker stats, incluent la mémoire cache de fichiers dans son calcul, tandis que pprof présente une valeur fuzz sans tenir compte du cache. En gérant les limites de mémoire via les groupes de contrôle, vous pouvez empêcher une croissance incontrôlée de la mémoire dans vos conteneurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!