Website-Suche

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:

  1. Sie benötigen Root-Zugriff auf Ihr System, um die Benutzerbeschränkungen zu ändern
  2. 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.