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ć.
Składnia
Dział zatytułowany „Składnia”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.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-a | Wyświetla wszystkie bieżące limity. |
-c | Maksymalny rozmiar pliku core dump (w blokach). |
-d | Maksymalny rozmiar segmentu danych procesu. |
-f | Maksymalny rozmiar pliku, jaki może utworzyć proces. |
-l | Maksymalna ilość pamięci, którą można zablokować w RAM. |
-m | Maksymalna ilość pamięci w rezydencji (nie zawsze używane). |
-n | Maksymalna liczba otwartych deskryptorów plików. |
-q | Maksymalna liczba bajtów w kolejkach komunikatów POSIX. |
-s | Rozmiar stosu procesu. |
-t | Limit czasu CPU w sekundach. |
-u | Maksymalna liczba procesów na użytkownika. |
-v | Maksymalna przestrzeń adresowa procesu. |
-S | Ustawia limit „miękki” (soft). |
-H | Ustawia limit „twardy” (hard). |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Wyświetlenie wszystkich bieżących limitówulimit -a
# 2) Ustawienie limitu liczby otwartych plików na 1024ulimit -n 1024
# 3) Usunięcie limitu rozmiaru pliku core dumpulimit -c unlimited
# 4) Sprawdzenie maksymalnej liczby procesów na użytkownikaulimit -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ć.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
ulimit: invalid option | Opcja nieobsługiwana w danej powłoce. | Sprawdź help ulimit lub dokumentację powłoki. |
operation not permitted | Próba zwiększenia hard limitu bez uprawnień administratora. | Uruchom jako root lub zmień ustawienia w plikach konfiguracyjnych systemu. |
Zmiana nie działa po ponownym zalogowaniu | ulimit działa tylko w bieżącej sesji. | Dodaj polecenie do plików startowych powłoki lub skonfiguruj limity systemowe. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- GNU Bash Manual – ulimit
- man bash – sekcja o ulimit.
- Linux PAM limits.conf – konfiguracja trwałych limitów.