GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen Cgroups und Namespaces

cgroups begrenzt die Ressourcen, die ein Prozess oder eine Gruppe von Prozessen verwenden kann. Diese Ressourcen können CPU, Arbeitsspeicher, Netzwerk-E/A oder Zugriff auf das Dateisystem sein während Namespace die Sichtbarkeit einer Gruppe von Prozessen auf den Rest des Systems beschränkt.

Weitere Informationen finden Sie unter Wie Linux-Kernel-Cgroups und -Namespaces moderne Container ermöglichten


Die richtigen Links für diese beiden Begriffe wurden in PR 14307 behoben:

Unter der Haube basiert Docker auf den folgenden Komponenten:

Die cgroups und namespaces Fähigkeiten des Linux-Kernels

Mit:

  • cgroup :Kontrollgruppen bieten einen Mechanismus zum Zusammenfassen/Aufteilen von Aufgabensätzen und all ihren zukünftigen Kindern in hierarchische Gruppen mit spezialisiertem Verhalten.
  • Namensraum :verpackt eine globale Systemressource in eine Abstraktion, die den Prozessen innerhalb des Namensraums den Eindruck vermittelt, dass sie ihre eigene isolierte Instanz der globalen Ressource haben.

Kurz:

  • Cgroups =begrenzt, wie viel Sie verwenden können;
  • Namespaces =schränkt ein, was Sie sehen (und daher verwenden) können

Weitere Informationen finden Sie unter „Anatomy of a Container:Namespaces, cgroups &Some Filesystem Magic“ von Jérôme Petazzoni.

Cgroups beinhalten Ressourcenmessung und -begrenzung:

  • Erinnerung
  • Prozessor
  • E/A blockieren
  • Netzwerk

Namensräume bieten Prozessen eine eigene Sicht auf das System

Mehrere Namespaces:

  • pid
  • Netz
  • mnt
  • uts
  • ipc
  • Benutzer:Benutzer es graduiert von experimentell in Docker 1.10
    (Pro-Daemon-Instanz-Neuzuordnung von Container-Root zu einem unprivilegierten Benutzer ist im Gange:PR 12648:siehe Design)

Linux
  1. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  2. Was ist der Unterschied zwischen Sudo Su – und Sudo Su –?

  3. Unterschied zwischen Eot und Eof?

  4. Unterschied zwischen [0-9], [[:digit:]] und D?

  5. Unterschied zwischen Blockgröße und Clustergröße?

Unterschied zwischen apt und apt-get erklärt

Unterschied zwischen Sudo-Benutzer und Root-Benutzer?

Unterschied zwischen Qemu und KVM

Unterschied zwischen $HOME und '~' (Tilde)?

unterschied zwischen netstat und ss unter linux?

Unterschied zwischen ${} und $() in Bash