Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Linux zur Begrenzung und Kontrolle von Systemressourcen

So verwenden Sie Linux zur Begrenzung und Kontrolle von Systemressourcen

PHPz
PHPzOriginal
2023-08-02 14:14:421957Durchsuche

So nutzen Sie Linux zur Begrenzung und Kontrolle von Systemressourcen

In Linux-Systemen müssen wir häufig Systemressourcen begrenzen und kontrollieren, um die Stabilität und Sicherheit des Systems zu gewährleisten. In diesem Artikel wird erläutert, wie Sie den in Linux integrierten Ressourcenkontrollmechanismus verwenden, um die Nutzung von Systemressourcen einzuschränken und zu steuern. Wir konzentrieren uns auf zwei häufig verwendete Tools, cgroup (Kontrollgruppe) und ulimit, sowie deren Anwendungsbeispiele.

1. cgroup

cgroup ist ein vom Linux-Kernel bereitgestellter Ressourcenverwaltungsmechanismus. Dadurch können wir Prozesse gemeinsam organisieren und Ressourcen für diese Prozessgruppen begrenzen und steuern. cgroups können die Nutzung von Systemressourcen wie CPU, Speicher und E/A steuern und begrenzen.

  1. Installieren Sie das cgroup-Tool

Zuerst müssen wir das cgroup-Tool installieren. Auf den meisten Linux-Distributionen kann es mit dem folgenden Befehl installiert werden:

sudo apt-get install cgroup-tools
  1. Cgroup erstellen

Wir können den Befehl cgcreate verwenden, um eine Cgroup zu erstellen, zum Beispiel eine Cgroup mit dem Namen mygroup:

sudo cgcreate -g cpu,memory:mygroup

Der obige Befehl erstellt Eine Kontrollgruppe namens „mygroup“ mit CPU- und Speicherbeschränkungen.

  1. Cgroup-Ressourcenlimits festlegen

Als nächstes müssen wir Cgroup-Ressourcenlimits festlegen. Beispielsweise beschränken wir die CPU auf die Nutzung von maximal 50 % der Zeitscheibe und den Speicher auf die Nutzung von maximal 1 GB Speicher:

sudo cgset -r cpu.cfs_quota_us=50000 -r memory.limit_in_bytes=1G mygroup

Der obige Befehl begrenzt die CPU von mygroup auf die Nutzung von maximal 50 % die Zeitscheibe und begrenzen Sie den Speicher auf bis zu 1 GB Speicher.

  1. Fügen Sie den Prozess zur cgroup hinzu

Schließlich können wir den Befehl cgclassify verwenden, um den Prozess zur angegebenen cgroup hinzuzufügen. Fügen Sie beispielsweise den Prozess mit der Prozess-PID 12345 zu „mygroup“ hinzu:

sudo cgclassify -g cpu,memory:mygroup 12345

Jetzt unterliegt der Prozess mit der Prozess-PID 12345 den Ressourcenbeschränkungen von „mygroup“.

2. ulimit

Neben cgroup bietet Linux auch ein weiteres leistungsstarkes Ressourcenkontrolltool, ulimit. Mit ulimit können wir die Systemressourcen begrenzen, die ein einzelner Benutzer verwenden kann.

  1. Aktuelle Ressourcenlimits anzeigen

Wir können den Befehl ulimit verwenden, um die aktuellen Ressourcenlimiteinstellungen anzuzeigen. Sehen Sie sich beispielsweise die maximale Dateigrößenbeschränkung an, die der aktuelle Benutzer verwenden kann:

ulimit -f
  1. Ressourcenlimits festlegen

Wir können den Befehl ulimit verwenden, um Ressourcenlimits festzulegen. Um beispielsweise die maximale Dateigrößenbeschränkung auf 1 GB festzulegen:

ulimit -f 1000000000

Der obige Befehl setzt die maximale Dateigrößenbeschränkung auf 1 GB.

Darüber hinaus können wir mit dem Befehl ulimit auch andere Ressourcengrenzen festlegen, wie z. B. CPU-Zeit, Speicher, Anzahl geöffneter Dateien usw.

  1. Ressourcenlimits dauerhaft ändern

Die über den ulimit-Befehl festgelegten Ressourcenlimits gelten nur für die aktuelle Sitzung. Sobald die Sitzung endet, sind die Einstellungen ungültig. Wenn wir Ressourcenlimits dauerhaft ändern möchten, können wir die Systemkonfigurationsdatei /etc/security/limits.conf ändern.

Wenn Sie beispielsweise die maximale Anzahl geöffneter Dateien auf 10.000 ändern möchten, können Sie die folgende Konfiguration zu /etc/security/limits.conf hinzufügen:

*    hard    nofile    10000

Die obige Konfiguration ändert die maximale Anzahl geöffneter Dateien auf 10.000.

Fazit

In diesem Artikel wird erläutert, wie Sie Linux zur Begrenzung und Steuerung von Systemressourcen verwenden. Wir haben uns auf zwei häufig verwendete Tools konzentriert, cgroup und ulimit, und entsprechende Anwendungsbeispiele gegeben. Durch den rationalen Einsatz dieser Tools können wir die Nutzung von Systemressourcen effektiv kontrollieren und die Stabilität und Sicherheit des Systems gewährleisten. Ich hoffe, dass dieser Artikel für Leser hilfreich ist, die Linux zur Begrenzung und Steuerung von Systemressourcen verwenden.

Referenzen:

  • https://www.man7.org/linux/man-pages/man7/cgroups.7.html
  • https://www.man7.org/linux/man-pages/man2 / setrlimit.2.html
  • https://linux.die.net/man/1/ulimit

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Linux zur Begrenzung und Kontrolle von Systemressourcen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn