So legen Sie Grenzwerte für vom Benutzer ausgeführte Prozesse unter Linux fest
Eine der Schönheiten von Linux ist, dass Sie fast alles daran steuern können. Dies gibt einem Systemadministrator eine bessere Kontrolle über sein System und eine bessere Nutzung 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 viele Ressourcen ein einzelner Benutzer für wie lange nutzen darf.
Lesen Sie auch: So erhöhen Sie das Limit für die Anzahl geöffneter Dateien unter Linux
In diesem kurzen Thema zeigen wir Ihnen, wie Sie die Anzahl der vom Benutzer gestarteten Prozesse begrenzen und die aktuellen Grenzwerte überprüfen und ändern können.
Bevor wir weitermachen, müssen wir auf zwei Dinge hinweisen:
- Sie benötigen Root-Zugriff auf Ihr System, um die Benutzerbeschränkungen 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 hat die folgende Syntax:
<domain> <type> <item> <value>
Hier werden wir anhalten, um die einzelnen Optionen zu besprechen:
- Domäne – dazu gehören Benutzernamen, Gruppen, GUID-Bereiche usw
- Typ – weiche und harte Grenzen
- Element – das Element, das begrenzt wird – Kerngröße, Dateigröße, nproc usw
- Wert – Dies ist der Wert für den angegebenen Grenzwert
Ein gutes Beispiel für einen Grenzwert ist:
@student hard nproc 20
Die obige Zeile legt ein festes Limit von maximal 20 Prozessen für die Gruppe "student"
fest.
Wenn Sie die Grenzwerte eines bestimmten Prozesses sehen möchten, können Sie die Grenzwertdatei einfach wie folgt caten:
cat /proc/PID/limits
Wobei PID die tatsächliche Prozess-ID ist, können Sie die Prozess-ID mit dem Befehl ps ermitteln. Für eine ausführlichere Erklärung lesen Sie unseren Artikel „Finden Sie laufende Linux-Prozesse und legen Sie Prozesslimits pro Benutzerebene fest“.
Hier also ein Beispiel:
cat /proc/2497/limits
Beispielausgabe
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 sich das hier bereitgestellte Handbuch ansehen.
Wenn Sie Fragen oder Kommentare haben, können Sie diese gerne im Kommentarbereich unten einreichen.