Befehl "ulimit"

Zweck

Legt Benutzerressourcengrenzwerte fest oder meldet diese.

Syntax

ulimit [ -H ] [ -S ] [ -a ] [ -c ] [ -d ] [ -f ] [ -m ] [ -n ] [ -r ] [ -s ] [ -t ] [-u ][ Grenzwert ]

Beschreibung

Der Befehl ulimit legt die in der Datei /etc/security/limits definierten Ressourcengrenzwerte für Benutzerprozesse fest oder meldet diese. Diese Datei enthält die folgenden Standardgrenzwerte:

fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000
threads = -1
nproc = -1

Diese Werte werden als Standardeinstellungen verwendet, wenn ein neuer Benutzer zum System hinzugefügt wird. Die Werte werden mit dem Befehl mkuser festgelegt, wenn der Benutzer dem System hinzugefügt oder mit dem Befehl chuser geändert wird.

Grenzwerte werden als veränderlich oder fest kategorisiert. Mit dem Befehl ulimit können Sie Ihre veränderlichen Grenzwerte bis zu dem durch den feste Grenzwert festgelegten Maximum ändern. Zum Ändern fester Ressourcengrenzwerte müssen Sie Rootberechtigung haben.

Es gibt viele Systeme, auf denen einer oder mehrere dieser Grenzwerte nicht vorhanden sind. Der Grenzwert für eine bestimmte Ressource wird festgelegt, wenn der Parameter Grenzwert angegeben ist. Der Wert des Parameters Grenzwert kann eine Zahl in der Einheit sein, die für jede Ressource angegeben wird, oder der Wertunlimited. Legen Sie den spezifischen ulimit-Wert wie folgt fest:unlimited, verwenden Sie das Wortunlimited

Hinweis: Wenn Sie die Standardgrenzwerte in der Datei /etc/security/limits festlegen, werden systemweite Grenzwerte festgelegt, nicht nur Grenzwerte, die ein Benutzer bei der Erstellung dieses Benutzers verwendet.

Der aktuelle Ressourcengrenzwert wird ausgegeben, wenn Sie den Parameter Grenzwert nicht angeben. Der veränderliche Grenzwert wird ausgegeben, sofern Sie das Flag -H nicht angeben. Wenn Sie mehrere Ressourcen angeben, werden der Grenzwertname und die Einheit vor dem Wert ausgegeben. Wenn keine Option angegeben ist, wird das Flag -f angenommen.

Da sich der Befehl ulimit auf die aktuelle Shellumgebung auswirkt, wird er als regulärer integrierter Shellbefehl bereitgestellt. Wenn dieser Befehl in einer separaten Befehlsausführungsumgebung aufgerufen wird, wirkt sich dies nicht auf die Dateigrößenbegrenzung für Dateien in der Umgebung des Aufrufers aus. Dies wäre in den folgenden Beispielen der Fall:

nohup ulimit -f 10000
env ulimit 10000

Sobald ein fester Grenzwert durch einen Prozess verringert wurde, kann er ohne Rootberechtigung nicht mehr erhöht werden, d. h. auch nicht auf den ursprünglichen Grenzwert.

Flags

Element Beschreibung
-A Listet alle aktuellen Ressourcengrenzwerte auf.
-c Gibt die Größe von Kernspeicherauszügen als Anzahl von 512-Byte-Blöcken an.
-d Gibt die Größe des Datenbereichs als Anzahl von Kilobyte an.
-F Legt die Größenbegrenzung für Dateien in Blöcken fest, wenn der Parameter Grenzwert verwendet wird, oder meldet die Größenbegrenzung für Dateien, wenn kein Parameter angegeben ist. Das Flag -f ist die Standardeinstellung.
-H Gibt an, dass der feste Grenzwert für die angegebene Ressource gesetzt wird. Wenn Sie Rootberechtigung haben, können Sie den festen Grenzwert erhöhen. Dieser kann von jedem Benutzer verringert werden.
-m Gibt die Größe des physischen Speichers (residenter Datenspeicher) als Anzahl von Kilobyte an. Dieser Grenzwert wird vom System nicht erzwungen.
-N Gibt den Grenzwert für die Anzahl der Dateideskriptoren an, die ein Prozess haben kann.
-r Gibt den Grenzwert für die Anzahl der Threads an, die ein Prozess haben kann.
-s Gibt die Stackgröße in Anzahl von Kilobyte an.
-S Gibt an, dass der veränderliche Grenzwert für die angegebene Ressource gesetzt wird. Ein veränderlicher Grenzwert kann bis zum Wert des festen Grenzwerts erhöht werden. Wenn weder das Flag -H noch das Flag -S angegeben ist, gilt der Grenzwert für beide.
-T Gibt die Anzahl der Sekunden für jeden Prozess an.
-u Gibt den Grenzwert für die Anzahl der Prozesse an, die ein Benutzer erstellen kann.

Exitstatus

Die folgenden Exitwerte werden zurückgegeben:

Element Beschreibung
0 Erfolgreiche Ausführung.
>0 Eine Anforderung für einen höheren Grenzwert wurde zurückgewiesen oder es ist ein Fehler aufgetreten.

Beispiel

Geben Sie Folgendes ein, um die Größenbegrenzung für Dateien auf 51.200 Byte zu setzen:

ulimit -f 100

Geben Sie Folgendes ein, um alle aktuellen Ressourcengrenzwerte aufzulisten:

ulimit -a

time(seconds)        unlimited
file(blocks)         2097151
data(kbytes)         131072
stack(kbytes)        32768
memory(kbytes)       65536
coredump(blocks)     2097151
nofiles(descriptors) 2000
threads(per process) unlimited
processes(per user)  unlimited

Dateien

Element Beschreibung
/usr/bin/ksh Enthält den integrierten Befehl ulimit.