2017-11-18 1 views
0

Angenommen, Sie haben zwei Docker-Container (jeweils zwei Microservices), von denen jeder 10 GB RAM die Last von 1000 rps aushält. Irgendwann hast du 1900 rps auf dem ersten Container (Microservice) und 100 rps auf dem zweiten Microservice (Container).Ressourcenverbrauch von Docker und Leerlaufcontainer

Ist Docker oder Docker Swarm clever genug, um nicht 10 GB RAM für den zweiten Microservice (Docker Container) zu verschwenden?

Antwort

1

Wenn keine Einschränkungen festgelegt sind, verwendet Docker einfach den verfügbaren Speicher für den Host. Das würde Ihren obigen Anwendungsfall befriedigen, mit dem Nachteil, dass ein Docker, wenn ein Mikrocomputer plötzlich 15 GB Speicher mit insgesamt 16 GB Speicher verwendet, in Ordnung wäre. Das könnte Probleme verursachen.

Um eine OOM-Situation abzuschwächen, können Sie feste Grenzwerte pro laufendem Container mit einem --memory-Flag oder weichen Grenzwerten mit einem --memory-reservation-Flag festlegen.

Vollständige Informationen finden Sie in der Dokumentation resource constraints.