Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Begrenzung der Nutzung von Prozessressourcen in AL2 023 mithilfe cgroups
Die Verwendung wird zwar empfohlenRessourcenkontrolle mit systemd, in diesem Abschnitt wird jedoch die grundlegende Verwendung der libcgroup-tools Basisdienstprogramme behandelt, um die CPU- und Speicherauslastung von Prozessen zu begrenzen. Beide Methoden sind Alternativen zur Verwendung des cpulimit Hilfsprogramms, das zuvor unter beschrieben wurdeEPEL.
Das folgende Beispiel behandelt die Ausführung des stress-ng Stresstests (aus dem stress-ng Paket) bei gleichzeitiger Begrenzung der CPU- und Speicherauslastung mithilfe der Dienstprogramme aus dem libcgroup-tools Paket und den darin enthaltenen Tunables. sysfs
Verwenden Sie es libcgroup-tools in der Befehlszeile, um die Ressourcennutzung zu begrenzen
-
Installieren Sie das Paket
libcgroup-tools.[ec2-user ~]$sudo dnf installlibcgroup-tools -
Erstellen Sie eine
cgroupmit dencpuControllernmemoryund und geben Sie ihr einen Namen (our-example-limits). Verwenden Sie die-tOptionen-aund, um es demec2-userBenutzer zu ermöglichen, die Tunables descgroup[ec2-user ~]$sudo cgcreate -aec2-user-tec2-user-g memory,cpu:our-example-limitsEs gibt jetzt ein
/sys/fs/cgroup/our-example-limits/Verzeichnis, das Dateien enthält, die zur Steuerung der einzelnen Tunables verwendet werden können.Anmerkung
Amazon Linux 2 verwendet
cgroup-v1Rathercgroup-v2, das auf AL2 023 verwendet wird. Auf AL2, diesysfsPfade sind unterschiedlich, und es wird/sys/fs/cgroup/memory/our-example-limits/sys/fs/cgroup/cpu/our-example-limitsVerzeichnisse gebenec2-user, deren Eigentümer Dateien sind, mit denen die Grenzen von kontrolliert werden können.cgroup -
Beschränken Sie den Speicherverbrauch aller Prozesse in unserer
cgroupDatenbank auf 100 Millionen Byte.[ec2-user ~]$echo100000000> /sys/fs/cgroup/our-example-limits/memory.maxAnmerkung
Amazon Linux 2 verwendet
cgroup-v1eher alscgroup-v2das, was Amazon Linux 2023 verwendet. Das bedeutet, dass einige Tunables unterschiedlich sind. Um die Speichernutzung zu begrenzen AL2, wird stattdessen das unten stehende Tunable verwendet.[ec2-user ~]$echo10000000> /sys/fs/cgroup/memory/our-example-limits/memory.limit_in_bytes -
Beschränken Sie die CPU-Auslastung aller Prozesse in unserer Datenbank
cgroupauf 10%. Das Format dercpu.maxDatei beschränkt$MAX $PERIODdie Gruppe auf die Nutzung$MAXfür jeden$PERIOD.[ec2-user ~]$echo10000 100000> /sys/fs/cgroup/our-example-limits/cpu.maxAmazon Linux 2 verwendet
cgroup-v1eher alscgroup-v2das, was Amazon Linux 2023 verwendet. Das bedeutet, dass einige Tunables unterschiedlich sind, einschließlich der Frage, wie die CPU-Auslastung begrenzt werden kann. -
Das folgende Beispiel läuft
stress-ng(das durch Ausführen installiert werden kanndnf install -y stress-ng) imour-example-limitscgroup. Während der Ausführung desstress-ngBefehls können Sie beobachten,topdass er auf 10% von begrenzt ist CPU Zeit.[ec2-user ~]$sudo cgexec -g memory,cpu:our-example-limitsstress-ng --cpu 1 -
Räumen Sie auf, indem Sie die Cgroup entfernen
[ec2-user ~]$sudo cgdelete -g memory,cpu:our-example-limits
Die Linux-Kernel-Dokumentation für cgroup-v2