ulimit(1) ulimit(1)
NAME
ulimit - Dateigröße für das Schreiben begrenzen oder aktuellen Grenz-
wert abfragen (user limit)
SYNTAX
ulimit [-H] [-S] [option ...] Format 1
ulimit [-H] [-S] [option ...] grenzwert Format 2
BESCHREIBUNG
Mit dem in die Shell sh bzw. ksh eingebauten Kommando ulimit können Sie
- abfragen, welche Grenzwerte für die aktuelle Shell oder ihre Sohn-
Prozesse festgelegt sind
- die Grenzwerte einzeln für die aktuelle Shell und alle ihre Sohn-
Prozesse ändern. Als Benutzer ohne Systemverwalterrechte können Sie
diese Werte nur herabsetzen. Die neuen Werte gelten für die aktu-
elle Shell und ihre Sohn-Prozesse.
Ein herabgesetzter Wert kann erst wieder erhöht werden, wenn die
Shell, in der Sie den Grenzwert herabgesetzt haben, beendet wurde.
Die folgenden Grenzwerte, die in getrlimit(2) genauer beschrieben
sind, stehen Ihnen für die aktuelle Shell und alle ihre Sohn-
Prozesse zur Verfügung:
c - core size
Maximale Größe eines Speicherabzugs in der Datei core (in
512-Byte-Blöcken), wenn ein Prozeß fehlerhaft abgebrochen
wurde [siehe signal(5)].
Ist core size gleich 0, wird keine core-Datei angelegt.
d - data segment
Maximale Größe des Datensegments oder "heap" (in Kbyte) eines
Prozesses.
f - file size
Maximale Dateigröße (in 512-Byte-Blöcken), die Sie anlegen
(schreiben) dürfen; das Lesen ist nicht beschränkt. Ist file
size gleich 0, können keine Dateien angelegt werden. Wenn Sie
den festgelegten Standardwert überschreiten, erhalten Sie
(abhängig vom Kommando mit dem Sie die Datei erzeugen) entwe-
der eine Fehlermeldung vom entsprechenden Kommando oder die
neue Datei enthält nur die Daten bis zum Erreichen des Grenz-
wertes.
Beispiel für die Dateigröße:
Nach ls -lR >datei enthält datei nur so viele Bytes, wie der
aktuelle Grenzwert erlaubt.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ulimit(1) ulimit(1)
Bei cp erhalten Sie die Fehlermeldung bad copy to datei, wenn
die Datei, die kopiert werden soll, größer ist als der aktu-
elle Grenzwert.
n - number of filedescriptors
Maximale Anzahl (geöffneter) Dateikennzahlen eines Prozesses
plus 1.
s - stack size
Maximale Größe des Stacksegments (in Kbyte) eines Prozesses.
t - time
Maximal verbrauchbare CPU-Zeit (in Sekunden) für einen Prozeß.
v - virtual memory size
Maximale Größe des virtuellen Speichers (in Kbyte) eines Pro-
zesses.
OPTIONEN
Format 1: Grenzwerte abfragen
ulimit [-H] [-S] [option ...]
ulimit schreibt die durch option abgefragten Grenzwerte auf die Stan-
dardausgabe.
-H Abfragen eines harten Grenzwerts (hard limit).
-S Abfragen eines weichen Grenzwerts (soft limit).
Weder -H noch -S angegeben:
ulimit schreibt die weichen Grenzwerte auf die Standardausgabe.
Durch zusätzliche Optionen können Sie die abzufragenden Grenzwerte
angeben. Sie können die Optionen beliebig kombinieren.
Keine zusätzliche Option angegeben:
ulimit verwendet die Option -f (siehe Format 2).
-a Abfrage aller Grenzwerte.
Die weiteren Optionen sind unter Format 2 beschreiben.
Format 2: Grenzwerte setzen
ulimit [-H] [-S] [option ...] grenzwert
ulimit setzt den durch option bezeichneten Grenzwert auf grenzwert.
Sie können mit jedem Aufruf immer nur einen Grenzwert neu setzen.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
ulimit(1) ulimit(1)
-H Setzen eines harten Grenzwerts (hard limit). Als Benutzer ohne
Systemverwalterrechte können Sie jeden harten Grenzwert herab-
setzen. Aber nur der Systemverwalter darf einen harten Grenz-
wert erhöhen.
-S Setzen eines weichen Grenzwerts (soft limit). Jeder Benutzer
kann einen weichen Grenzwert auf einen Wert kleiner dem harten
Grenzwert setzen.
Weder -H noch -S angegeben:
ulimit setzt harte und weiche Grenzwerte auf den angegebenen
Wert.
Durch zusätzliche Optionen können Sie die zu setzenden Grenzwerte
angeben.
Keine zusätzliche Option angegeben:
ulimit verwendet die Option -f.
-c Maximale Größe eines Speicherabzugs in der Datei core (in 512-
Byte-Blöcken).
-d Maximale Größe des Datensegments oder "heap" (in Kbyte).
-f Maximale Dateigröße (in 512-Byte-Blöcken).
-n Maximale Anzahl von Dateikennzahlen plus 1.
-s Maximale Größe des Stackelements (in Kbyte).
-t Maximal verbrauchbare CPU-Zeit (in Sekunden).
-v Maximale Größe des virtuellen Speichers (in Kbyte).
grenzwert
Legt den Grenzwert für die aktuelle Shell und jeden ihrer Sohn-
Prozesse entsprechend der angegebenen Option fest. Für grenzwert
können Sie als Benutzer ohne Systemverwalterrechte nur Werte
angeben, die kleiner sind als der aktuelle Grenzwert. Als System-
verwalter können Sie mit grenzwert den aktuellen Grenzwert auch
erhöhen. Geben Sie für grenzwert die Zeichenkette unlimited an,
dann wird der Grenzwert auf den maximal möglichen Wert gesetzt.
FEHLERMELDUNG
Bad ulimit
Sie haben versucht, den aktuellen Grenzwert zu erhöhen. Dies darf nur
der Systemverwalter.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
ulimit(1) ulimit(1)
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Beispiel 1
Durch Aufruf von ulimit gemäß Format 1 werden alle aktuellen Grenz-
werte ausgegeben. Dabei steht jeweils der weiche Grenzwert vor, der
harte Grenzwert nach dem Doppelpunkt:
$ ulimit -Sa
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 16384
stack(kbytes) 16384
coredump(blocks) 2048
nofiles(descriptors) 64
memory(kbytes) 16384
Beispiel 2
Der aktuelle weiche Grenzwert für die maximale Anzahl der Dateikenn-
zahlen wird erhöht. Dies ist jedem Benutzer möglich, solange der neue
Grenzwert unterhalb des harten Grenzwerts liegt. Der neue Grenzwert
ist auch in einer Subshell gültig. (Die Ausgabe gilt nur für die
Bourne-Shell sh.)
$ ulimit -Sn 80
$ ulimit -HSn
80:1024
Beispiel 3
Der aktuelle Grenzwert für die maximale Dateigröße wird abgefragt und
anschließend herabgesetzt.
Diesen Grenzwert kann nur der Systemverwalter wieder erhöhen.
$ ulimit
4194303
$ ulimit 20000
$ sh
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
ulimit(1) ulimit(1)
$ ulimit
20000
Der neue Grenzwert ist auch in einer Subshell gültig. Ab jetzt können
nur noch Dateien angelegt werden, die kleiner sind als 20.000 * 512
Byte.
HINWEISE
Bei der Verwendung von ulimit können sich Abweichungen im Verhalten
ergeben, je nachdem, welche Shell benutzt wird. Die möglichen Abwei-
chungen sind nicht eigens beschrieben.
SIEHE AUCH
ksh(1), sh(1), getrlimit(2), ulimit(2), signal(5).
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98