Diskrepanz bei der Speichernutzung zwischen Go Tool Pprof und Docker Stats
Bei der Verwendung von Go 1.11 kann es zu einer Diskrepanz bei der von Go gemeldeten Speichernutzung kommen Tool pprof (runtime.MemStats.sys) und Docker-Statistiken. Docker-Statistiken stützen sich auf cgroups, um Informationen zur Speichernutzung zu erhalten, darunter Seiten-Cache und Resident Set Size (RES). Andererseits zeigt pprof einen Fuzz-Wert für die Speichernutzung an, was einen direkten Vergleich zwischen beiden erschwert.
Verstehen von cgroups-Speichernutzung
cgroups bieten eine Möglichkeit um die Ressourcennutzung innerhalb eines Containers zu begrenzen und zu verfolgen. Die Metrik „usage_in_bytes“ in cgroups umfasst sowohl den vom Prozess verwendeten Speicher als auch den zwischengespeicherten Speicher. Wenn ein Container Dateien vom Hostsystem liest, wird auch der vom Kernel zwischengespeicherte Speicher in „usage_in_bytes“ gezählt.
Speicher in Docker zurückfordern
Wenn ein Container seine erreicht Wenn das Speicherlimit erreicht ist, versucht Docker, ungenutzten Speicher zurückzugewinnen. Dies unterscheidet sich von einem OOM-Fehler, der auftritt, wenn der gesamte Speicher belegt ist.
Möglichkeiten zur Begrenzung der Speichernutzung
Um die Speichernutzung eines Docker-Containers zu steuern, können Sie Sie können ein Speicherlimit im Docker-Run-Befehl oder in der Datei docker-compose.yml mithilfe von mem_limit angeben Parameter.
Schlussfolgerung
Die Diskrepanz in der Speichernutzungsberichterstattung zwischen pprof und Docker Stats ergibt sich aus der unterschiedlichen Art und Weise, wie sie die Speichernutzung messen. cgroups, wie sie von Docker Stats verwendet werden, beziehen den Datei-Cache-Speicher in ihre Berechnung ein, während pprof einen Fuzz-Wert ohne Berücksichtigung des Caches darstellt. Durch die Verwaltung von Speicherlimits über Kontrollgruppen können Sie unkontrolliertes Speicherwachstum in Ihren Containern verhindern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3