Jakie parametry ma ulimit?

11

Widzę w przykładach, że -uopcja jest używana z ulimitpoleceniem, ale nie mogę znaleźć dokumentacji, która mówi, co oznacza ta opcja. man ulimitpokazuje instrukcję obsługi funkcji biblioteki systemowej. Jakie opcje ulimitmają i co oznaczają?

Memento
źródło

Odpowiedzi:

9

Polecenie ulimit jest wbudowanym poleceniem, które korzysta z funkcji C opisanych przez man: Jego własna pomoc jest zawarta na stronie podręcznika użytkownika Bash, dostępna za pomocą man bash.

Możesz wyświetlić listę wszystkich dostępnych opcji ulimit -hi zobaczyć ich odpowiednie znaczenie, używając ulimit -alisty wszystkich dostępnych rodzajów ograniczeń i ich bieżących wartości, w zależności od systemu:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
Eureka
źródło
1
Zauważ, że ulimit -hnie jest obsługiwany wszędzie - przynajmniej w Bash 4.2.25.
DreadPirateShawn
ulimit -h nie wymienia niczego z tego np. w Ubuntu 16.04
mat.
8

ulimitmusi być wbudowany w powłokę, ponieważ ustalony limit dotyczy samej powłoki, a także programów, które uruchamia. Jedynym przenośnym argumentem jest -f(limit wielkości pliku, w jednostkach 512-bajtowych). Większość powłok ma więcej opcji, musisz sprawdzić dokumentację powłoki, aby dokładnie wiedzieć, co to jest. W przypadku przenośnych powłok, takich jak bash i ksh, niektóre warianty unix mogą nie obsługiwać limitu, nawet jeśli odpowiednia opcja zostanie rozpoznana przez powłokę.

Opcje obsługiwane przez każdą powłokę, którą widziałem:

  • -H: Łącz z innymi opcjami, aby ustawić lub pokazać tylko twardy limit.
  • -S: Łącz z innymi opcjami, aby ustawić lub wyświetlić tylko limit miękki.
  • -c: maksymalny rozmiar pliku rdzenia (bloki 512-bajtowe)
  • -d: maksymalny rozmiar sterty (segmentu danych) (kB)
  • -f: maksymalny rozmiar pliku (bloki 512-bajtowe)
  • -n: maksymalna liczba deskryptorów plików
  • -s: maksymalny rozmiar stosu (kB)
  • -t: maksymalny czas procesora

Kilka innych bardzo powszechnych opcji:

  • -a: Wyświetl wszystkie ograniczenia.
  • -m: maksymalny rozmiar pamięci fizycznej (kB)
  • -v: maksymalny rozmiar pamięci wirtualnej (kB)
Gilles „SO- przestań być zły”
źródło