Przejdź do głównej zawartości

ulimit


  • ulimit – wbudowana komenda powłoki służąca do konfigurowania limitów zasobów dla bieżącej sesji i uruchamianych procesów.
  • Limity obejmują m.in. maksymalny rozmiar pliku, stosu, pamięci, liczbę plików otwartych jednocześnie czy czas CPU.
  • Obecne w większości powłok POSIX (bash, ksh, zsh); implementacja i dostępne opcje mogą się różnić.

Okno terminala
ulimit [opcje] [limit]
  • Bez argumentów – wyświetla bieżące limity w wybranej jednostce (domyślnie blokach 512B dla rozmiarów).
  • Wartość unlimited oznacza brak ograniczenia.

ParametrOpis
-aWyświetla wszystkie bieżące limity.
-cMaksymalny rozmiar pliku core dump (w blokach).
-dMaksymalny rozmiar segmentu danych procesu.
-fMaksymalny rozmiar pliku, jaki może utworzyć proces.
-lMaksymalna ilość pamięci, którą można zablokować w RAM.
-mMaksymalna ilość pamięci w rezydencji (nie zawsze używane).
-nMaksymalna liczba otwartych deskryptorów plików.
-qMaksymalna liczba bajtów w kolejkach komunikatów POSIX.
-sRozmiar stosu procesu.
-tLimit czasu CPU w sekundach.
-uMaksymalna liczba procesów na użytkownika.
-vMaksymalna przestrzeń adresowa procesu.
-SUstawia limit „miękki” (soft).
-HUstawia limit „twardy” (hard).

Okno terminala
# 1) Wyświetlenie wszystkich bieżących limitów
ulimit -a
Okno terminala
# 2) Ustawienie limitu liczby otwartych plików na 1024
ulimit -n 1024
Okno terminala
# 3) Usunięcie limitu rozmiaru pliku core dump
ulimit -c unlimited
Okno terminala
# 4) Sprawdzenie maksymalnej liczby procesów na użytkownika
ulimit -u

  • Soft vs hard limits: soft można zmniejszać i zwiększać (do wartości hard), hard może ustawić tylko root lub poprzez PAM/konfigurację systemową.
  • Trwałość: zmiany przez ulimit obowiązują tylko w bieżącej sesji powłoki i jej procesach potomnych.
  • Konfiguracja systemowa: trwałe limity ustawia się w plikach /etc/security/limits.conf, /etc/security/limits.d/*.conf lub w jednostkach systemd.
  • Różnice między powłokami: dostępne opcje i jednostki mogą się nieco różnić.

Błąd / KomunikatPrzyczynaRozwiązanie
ulimit: invalid optionOpcja nieobsługiwana w danej powłoce.Sprawdź help ulimit lub dokumentację powłoki.
operation not permittedPróba zwiększenia hard limitu bez uprawnień administratora.Uruchom jako root lub zmień ustawienia w plikach konfiguracyjnych systemu.
Zmiana nie działa po ponownym zalogowaniuulimit działa tylko w bieżącej sesji.Dodaj polecenie do plików startowych powłoki lub skonfiguruj limity systemowe.