So legen Sie Grenzwerte für Benutzer fest, die Prozesse unter Linux ausführen
Eine der Schönheiten von Linux ist, dass Sie fast alles daran steuern können. Dies gibt einem Systemadministrator eine große Kontrolle über sein System und eine bessere Auslastung der Systemressourcen.
Während einige vielleicht noch nie darüber nachgedacht haben, dies zu tun, ist es wichtig zu wissen, dass Sie unter Linux begrenzen können, wie viel Ressource ein einzelner Benutzer verwenden darf und wie lange.
Lesen Sie auch: So erhöhen Sie das Limit für die Anzahl der geöffneten Dateien unter Linux
In diesem kurzen Thema zeigen wir Ihnen, wie Sie die Anzahl der vom Benutzer gestarteten Prozesse begrenzen und wie Sie die aktuellen Grenzwerte überprüfen und ändern können.
Bevor wir weitermachen, gibt es zwei Dinge, auf die wir hinweisen müssen:
- Sie benötigen Root-Zugriff auf Ihr System, um die Benutzerlimits zu ändern
- Sie müssen äußerst vorsichtig sein, wenn Sie planen, diese Grenzwerte zu ändern
Um Benutzerlimits einzurichten, müssen wir die folgende Datei bearbeiten:
/etc/security/limits.conf
Diese Datei wird verwendet, um ulimit anzuwenden, das vom pam_module erstellt wurde.
Die Datei weist die folgende Syntax auf:
<domain> <type> <item> <value>Hier werden wir aufhören, um jede der Optionen zu besprechen:
- Domain – dazu gehören Benutzernamen, Gruppen, GUID-Bereiche usw.
- Typ – weiche und harte Grenzen
- Item – das Element, das begrenzt wird – Kerngröße, Dateigröße, nproc usw.
- Wert – dies ist der Wert für das angegebene Limit
Ein gutes Beispiel für ein Limit ist:
@student hard nproc 20Die obige Zeile legt ein hartes Limit von maximal 20 Prozessen für die Gruppe "Student" fest.
Wenn Sie die Grenzen eines bestimmten Prozesses sehen möchten, können Sie die Limits-Datei einfach wie folgt "catzen":
cat /proc/PID/limits
Wenn PID die tatsächliche Prozess-ID ist, können Sie die Prozess-ID mit dem Befehl ps ermitteln. Für eine detailliertere Erklärung lesen Sie unseren Artikel, in dem es heißt: Suchen Sie nach laufenden Linux-Prozessen und legen Sie Prozessgrenzen pro Benutzerebene fest.
Hier ist also ein Beispiel:
cat /proc/2497/limits
Beispiel-Ausgabe
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 32042 32042 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 32042 32042 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Alle Zeilen sind so gut wie selbsterklärend. Wenn Sie jedoch mehr über die Einstellungen erfahren möchten, die Sie in die Datei limits.conf eingeben können, können Sie einen Blick auf das hier bereitgestellte Handbuch werfen.
Wenn Sie Fragen oder Kommentare haben, zögern Sie bitte nicht, diese im Kommentarbereich unten zu senden.