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 cgroups
les cgroups 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 utilisation_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 des fichiers dans leur 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3