Linux-Befehle

So setzen Sie den ulimit-Wert dauerhaft

So setzen Sie den ulimit-Wert dauerhaft

In Linux ist ulimit ein integriertes Tool zum Verwalten der Ressourcenzuweisung auf globaler, Gruppen- und Benutzerebene. Für ein Mehrbenutzersystem wie Linux ist eine solche Funktion fast von größter Bedeutung. Es kann den Verbrauch unerwünschter Systemressourcen wie RAM und CPU-Leistung verhindern.

Sehen Sie sich an, wie Sie den ulimit-Wert unter Linux dauerhaft festlegen.

UGrenzwert

Ulimit erzwingt das vordefinierte Limit, wie viele Ressourcen ein Benutzer verwenden kann. Das Tool verwendet eine bestimmte Konfigurationsdatei als Kern, um die Grenzwerte zuzuweisen. Für eine genauere Kontrolle ist es besser, die Datei zu bearbeiten.

$ cat /etc/security/limits.conf


Es können zwei Arten von Limits festgelegt werden: weiche und harte Limitshard. Es ist besser, diese Typen mit einem einfachen Beispiel zu erklären.

Nehmen wir an, ein Systemadministrator möchte, dass ein bestimmter Benutzer um einen bestimmten Wert schwebt. Hier kann der Benutzer den Wert bei Bedarf überschreiten, aber nicht fest daran gebunden. In diesem Fall handelt es sich um ein weiches Limit. Wenn der Administrator das Limit hingegen strikt festlegen möchte, ist es ein hartes Limit.

Verwenden von ulimit

Ulimit ist ein Befehlszeilentool. Hier ist die Grundstruktur des ulimit-Befehls.

$ unbegrenzt

Alle Grenzen anzeigen

Das Flag „-a“ listet alle Optionen und Konfigurationen für einen bestimmten Benutzer auf. Wenn kein Benutzer definiert ist, werden stattdessen die Grenzwerte für den aktuellen Benutzer gedruckt.

$ ulimit -a

$ ulimit -a


Um die weichen Grenzen eines Benutzers anzuzeigen, verwenden Sie das Flag „-S“.

$ ulimit -Sa


Um die harten Grenzen eines Benutzers anzuzeigen, verwenden Sie das Flag „-H“.

$ ulimit -Ha


Es ist möglich, die Grenzen eines bestimmten Prozesses zu sehen. Die Details befinden sich in der folgenden Datei. Beachten Sie, dass es sich um eine eindeutige Datei für jeden der derzeit ausgeführten Prozesse handelt. Vertauschen Sie das PID-Feld mit der PID des Zielprozesses.

$ Katze /proc//Grenzen

Grenzparameter

Um das ulimit zu ändern, müssen Sie angeben, welche Art von Limit Sie definieren möchten. Hier ist eine Auswahlliste mit allen verfügbaren Parametern, die Sie ändern können. Fast alle definieren den Maximalwert jedes Parameters.

  • b: Socket-Puffergröße
  • c: Größe der erstellten Core-Dateien
  • d: Datensegmentgröße des Prozesses
  • e: Planungspriorität („schöner“ Wert)
  • f: Anzahl der von der Shell erstellten Dateien
  • i: Anzahl anstehender Signale
  • l: Größe, die in den Speicher gesperrt werden soll
  • m: Größe des Bewohnersets
  • n: Anzahl geöffneter Dateideskriptoren
  • p: Rohrpuffergröße
  • q: Anzahl Bytes in POSIX-Nachrichtenwarteschlangen
  • r: Echtzeit-Planungspriorität
  • s: Stapelgröße
  • t: CPU-Zeit (in Sekunden)
  • T: Anzahl der Fäden
  • u: Anzahl der Prozesse, die einem Benutzer zur Verfügung stehen
  • v: Für die Verarbeitung verfügbare Menge an virtuellem Speicher
  • x: Anzahl der Dateisperren

Ulimit-Wert vorübergehend ändern

Es ist möglich, den Wert von ulimit für einen bestimmten Benutzer vorübergehend zu ändern. Die Änderung bleibt wirksam, bis der Benutzer abgemeldet wird, die Sitzung abläuft oder das System neu startet. Hier zeige ich ein Beispiel zum Festlegen der maximalen Prozessanzahl für einen Benutzer.

Um die Anzahl der verfügbaren Prozesse auf 12345 zu ändern, führen Sie den folgenden Befehl aus. Es wird dem Benutzer ein vorübergehendes hartes Limit auferlegen.

$ ulimit -u

$ ulimit -u 12345


Sehen Sie sich das harte Limit an, um es zu überprüfen.

$ ulimit -Hu

Grenzwert dauerhaft ändern

Wie bereits erwähnt, verwendet ulimit eine Systemkonfigurationsdatei, die den Standardwert für ulimit bestimmt. Durch Änderungen an dieser Datei können Sie den ulimit-Wert für jeden Benutzer dauerhaft ändern any.

Öffnen Sie die Datei in Ihrem bevorzugten Texteditor. Beachten Sie, dass die Datei mit Root-Berechtigung geöffnet werden muss, damit die Änderungen gespeichert werden können.

$ sudo vim /etc/security/limits.conf


Dabei folgen die Einträge der Datei folgender Struktur.

$

Lassen Sie uns die einzelnen Felder kurz aufschlüsseln.

  • domain: Benutzernamen, Gruppen, GUID-Bereiche usw.
  • Typ: Begrenzungsart (weich/hart)
  • item: Die Ressource, die begrenzt wird, z. B. Kerngröße, nproc, Dateigröße usw.
  • Wert: Der Grenzwert

Hier ist eine Auswahl aller verfügbaren Artikel.

  • core: Begrenzt die Größe der Kerndatei (in KB)
  • CPU: CPU-Zeit (in min)
  • Daten: Datengröße (in KB)
  • fsize: Dateigröße (in KB)
  • Sperren: Dateisperren, die der Benutzer halten kann
  • memlock: Im Speicher gesperrter Adressraum (in KB)
  • nproc: Anzahl der Prozessoren
  • rtpio: Echtzeit-Priorität
  • sigpending: Anzahl der anstehenden Signale

Eine vollständige Liste der verfügbaren Elemente finden Sie auf der Manpage von Limits.conf.

$ Mann Grenzen.conf


Der folgende Eintrag würde beispielsweise die Anzahl der CPU-Kerne, die der Benutzer „Viktor“ verwenden kann, auf 2 begrenzen.

$ viktor hart nproc 2

Speichern Sie die Datei nach der Bearbeitung. Damit die Änderungen wirksam werden, müssen sich die betroffenen Benutzer abmelden und erneut anmelden. Je nach Implementierung kann es auch erforderlich sein, dass das System neu gestartet wird.

Abschließende Gedanken

Das ulimit-Tool bietet eine leistungsstarke Möglichkeit, Ressourcen zu verwalten. Es ist einfach, aber leistungsstark in dem, was es tut. Was auch immer Sie tun, stellen Sie sicher, dass das Limit, das Sie implementieren möchten, richtig eingegeben ist. Wenn Sie diese Dinge zum ersten Mal ausprobieren, testen Sie sie zuerst in einer virtuellen Maschine machine.

Der ulimit-Befehl hat mehr zu bieten als das, was ich hier besprochen habe. Wenn Sie mehr erfahren möchten, sehen Sie sich den Befehl "Linux ulimit" an.

Viel Spaß beim Rechnen!

So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...