Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 7160|Antwort: 5

Docker modifiziert und beschränkt Container-CPU, Speicher und andere Ressourcen

[Link kopieren]
Veröffentlicht am 06.08.2022 13:55:37 | | | |
Anforderungen: Beim Erstellen eines Docker-Containers können Sie den maximalen Speicherverbrauch des Containers begrenzen, indem Sie den Parameter -m hinzufügen.

Überprüfen Sie die Speichergrenzen für Containerspeicher

Der Host-Rechner installiert einen 8G-Speicherstick und erstellt 3 Container, von denen der maximale Speicher des itsvse-redis-Containers auf 512M begrenzt ist und die verbleibenden beiden Container nicht eingeschränkt sind, wie in der untenstehenden Abbildung gezeigt:



Detaillierte Erklärung des Ausgabeinformationsformats

[CONTAINER]: Zeigt die ID des Containers in kurzer Form an.
CPU%: CPU-Auslastung.
[MEM USAGE/LIMIT]: Der aktuell genutzte Speicher und der maximale Speicher, der genutzt werden kann.
[MEM %]: Zeigt den Speicherverbrauch als Prozentsatz an.
[NET I/O]: Netzwerk-I/O-Daten.
[BLOCK I/O]: Disk I/O-Daten.
[PIDS]:P ID-Nummer.

Docker-Update-Befehl

Der Befehl docker update aktualisiert dynamisch die Containerkonfiguration. Du kannst diesen Befehl verwenden, um zu verhindern, dass Container zu viele Ressourcen von ihren Docker-Hosts verbrauchen. Mit einem einzigen Befehl kannst du Limits für einen einzelnen Container oder mehrere Container festlegen. Um mehrere Container anzugeben, geben Sie eine Liste von Containernamen oder -IDs an, die durch Leerzeichen getrennt sind.

OPTIONSBESCHREIBUNG

Name
Beschreibung
--blkio-Gewicht
Blockieren von IO (relatives Gewicht) zwischen 10 und 1000, 0 ist deaktiviert (standardmäßig unterdrückt)
--CPU-Periode
CPU-CFS-Dauer (Totally Fair Scheduler) begrenzen
--cpu-Quote
CPU-CFS-Quoten (Completely Fair Scheduler) begrenzen
--cpu-rt-periode
API 1.25+, die die Echtzeitzeit der CPU auf Mikrosekunden begrenzt.
--cpu-rt-laufzeit
API 1.25+, die die Echtzeitlaufzeit der CPU auf Mikrosekunden begrenzt
--cpu-shares, -c
CPU-Anteil (relatives Gewicht)
--Cpus
API 1.29+, Anzahl der CPUs
--cpuset-cpus
Erlaubte CPU (0-3,0,1)
--cpuset-mem
Erlaubtes MEM (0-3,0,1)
--Kernel-Speicher
Kernel-Speichergrenzen
--memory-swap
Das Swap-Limit entspricht Speicher plus Swapping, "-1", um unbegrenztes Swapping zu ermöglichen
--memory-reservatio
Speicher-Soft-Limit
--Gedächtnis, -m
Speichergrenze
--pids-grenze
API 1.40+, Container-PIDS-Grenzen anpassen (-1 bedeutet unbegrenzt)
--neustarten
Starte die Richtlinie neu, um angewendet zu werden, wenn der Container ausgeht

Dokumentation:Der Hyperlink-Login ist sichtbar.

Angenommen, du begrenzst den php5-fpm-ContainerMaximaler Speicherverbrauch 1024M (1G), lautet der Befehl wie folgt:



(Ende)




Vorhergehend:HTML5 PostMessage-Cross-Window-Kommunikation
Nächster:[Drehen] Ein Satz Aufgabe. Das Ergebnis wird gesperrt, wie sonst schreibt man diesen Code?
 Vermieter| Veröffentlicht am 06.08.2022 13:58:43 |
Wenn Sie den --memory-swap-Parameter nicht setzen, könnten Sie einen Fehler erhalten:

Fehlerantwort vom Daemon: Container ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Das Speicherlimit sollte kleiner sein als das bereits gesetzte Memoryswap-Limit, Aktualisieren Sie gleichzeitig den Memoryswap
 Vermieter| Veröffentlicht am 06.08.2022 14:31:57 |
Linux verwendet Lookbusy, um die CPU-Nutzung zu simulieren
https://www.itsvse.com/thread-10260-1-1.html
Veröffentlicht am 06.08.2022 15:52:44 |
Lernen lernen
 Vermieter| Veröffentlicht am 01.07.2023 21:46:50 |
Laufzeitoptionen für Docker-Speicher, CPU und GPU:Der Hyperlink-Login ist sichtbar.

--Speicher-Swap-Details

--memory-swap ist ein Modifikator-Flag, das nur dann sinnvoll ist, wenn --memory ebenfalls gesetzt ist. Wenn ein Container den gesamten verfügbaren RAM verbraucht, erlaubt Swap dem Container, überschüssige Speicheranforderungen auf die Festplatte zu schreiben. Bei Anwendungen, die häufig Speicher auf Festplatte austauschen, leidet die Leistung.

Seine Einstellungen können komplexe Effekte haben:

Wenn --memory-swap auf eine positive ganze Zahl gesetzt wird, dann müssen sowohl --memory auf --memory-swap gesetzt werden. --memory-swap stellt die Gesamtmenge an Speicher und Swap-Zonen dar, die genutzt werden können, und --memory steuert die Menge an Speicher in Nicht-Swap-Zonen. deshalbWenn --memory="300m" und --memory-swap="1g", kann der Container Speicherplatz mit 300m Speicher und 700m (1g - 300m) tauschen.

Wenn --memory-swap auf 0 gesetzt ist, wird die Einstellung ignoriert und der Wert gilt als ungesetzt.

Wenn --memory-swap auf denselben Wert wie --memory gesetzt wird und --memory auf eine positive ganze Zahl gesetzt wird, hat der Container keinen Zugriff auf Swap。 Siehe Verhindern von Containern mit Swaps.

Wenn --memory-swap nicht gesetzt ist und --memory gesetzt ist, kann der Container so viel Swap --memory verwenden, wie gesetzt (wenn der Host-Container mit Swap-Speicher konfiguriert ist). Wenn zum Beispiel --memory="300m" und --memory-swap nicht gesetzt sind, kann der Container insgesamt 600 m Speicher und Swap-Speicher verbrauchen.

Wenn --memory-swap explizit auf -1 gesetzt ist, darf der Container eine unbegrenzte Anzahl von Swaps verwenden, bis zu der auf dem Host-System verfügbaren Anzahl.

Im Container berichten Tools wie Free über die verfügbaren Austausche für den Host, anstatt über die im Container verfügbaren Austausche zu berichten. Verlasse dich nicht auf die Ergebnisse kostenloser oder ähnlicher Werkzeuge, um festzustellen, ob ein Austausch existiert.
 Vermieter| Veröffentlicht am 16.02.2024 04:07:22 |

Wenn --memory-swap nicht gesetzt ist,-- wird der Speicher auf einen Wert gesetzt,Der --memory-swap-Standardwert kann denselben Speicher wie --memory verwendenWenn du zum Beispiel memory-swap=1G ,--, kannst du 1G Swap-Speicher verwenden, und schließlich kann der Container 2G Speicher verwenden (--Speicher 1G + --memory-swap 1G Speicher).

Das bedeutet, dass, wenn --memory gesetzt ist,-- memory-swap als das gesamte Speicherlimit verstanden werden kann und der verfügbare Swap-Speicher gleich dem Wert von memory-swap minus speicher ist.

Sehen Sie sich die Container--memory-swap-Konfiguration mit folgendem Befehl an:



"Erinnerung": 536870912, // 512M=536870912/1024/1024/1024
"MemoryReservation": 0,
"MemorySwap": 1073741824, // 1G=1073741824/1024/1024/1024
"MemorySwappiness": null,

Die obige Konfiguration besagt, dass der Container den Speicher --memory=512M begrenzt, und --memory-swap ist nicht gesetzt.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com