ulimit jest często wbudowane w powłokę (np. bash). Stąd nie znajdziesz pełnego manuala poprzez: man ulimit. Należy wywołać: help ulimit
Dowiesz się wtedy że są 2 rodzaje limitów:
- Limit twardy - przełącznik -H (minus "Haa") który jest barierą której nie można przekraczać
- Limit miękki - przełącznik -S (minus "Ess") w ramach którego możesz zmieniać limit
Stąd pierwsze co należy zrobić, to wyświetlić limity twarde:
ulimit -Ha
Twoje ustawienia dla stosu, mogą być przestawiane do tego zakresu (najczęściej jest unlimited).
Teraz wyświetl miękkie ograniczenia:
ulimit -Sa
I tu możesz "kręcić" jak chcesz, nie przekraczając limitów twardych.
Stąd ustawienie miękkiego limitu dla stosu, to jest:
ulimit -Ss 16384
No i dlaczego to Ci nie działało? Proste. Jak nie podasz litery H ("Haa") lub S ("Ess"), domyślnie przestawiasz limit twardy. Po jego obniżeniu, nie możesz go podwyższyć :)
Limity w trakcie logowania, ustawiane są przez podsystem PAM (ang. Pluggable Authenitication Module). Możesz przeczytać zawartość pliku /etc/security/limits.conf . Zanim jednak nie zrozumiesz co robisz, radzę Ci tego pliku nie zmieniać :) Z PAM'em trzeba uważać. Łatwo można odciąć się od systemu lub uniemożliwić sobie wygodne działanie.