Planuję uruchomić aplikację Java za pomocą nohup ... &
. Limit musi dotyczyć takich poleceń.
open-files
limit
Ricardo Altamirano
źródło
źródło
Odpowiedzi:
Większość systemów używa PAM i ma
pam_limits
ustawione limity modułów na podstawie/etc/security/limits.conf
. Limit otwieranych plików na użytkownika nazywa sięnofile
. Możesz ustawić go dla każdego użytkownika lub dla konkretnego użytkownika lub grupy i możesz ustawić limit, który użytkownik może zastąpić (miękki limit) i inny, który tylko root może zastąpić (twardy limit). Dokumentacji orazlimits.conf
strona podręcznika mają szczegóły. Na przykład, aby podnieść limit do 50000 dla wszystkich, wstaw tę linię/etc/limits.conf
(ustawienie zacznie obowiązywać po zalogowaniu):źródło
limits.conf
do* hard nofile 50000
i / lub* soft nofile 50000
. Nie znam technicznej różnicy między twardym a miękkim i zawsze robiłem oba.limit descriptors 50000
aby zmienić wartość w danym oknie / sesji terminala.ulimit
polecenie (wywoływanelimit
w csh). Nieuprzywilejowany użytkownik nigdy nie może przekroczyć twardego limitu.możesz dodać
fs.file-max = <your number>
do/etc/sysctl.conf
. Następnie uruchom ponownie.źródło
sysctl fs.file-max=123456
. (/etc/sysctl.conf
jest odczytywany w czasie rozruchu przez skrypt, który wywołujesysctl
zawartość.)może modyfikować ustawienia procesu i
lub wywoływana zmienna sysctl
fs.file-max
może być użyta do odczytu i ustawienia wartości ogólnosystemowejźródło
Możesz użyć do tego ulimit:
http://bloggerdigest.blogspot.com/2006/10/10/purpose-of-ulimit-linux-command.html
Chociaż powinieneś upewnić się, że otwarcie tak wielu uchwytów plików jest absolutnie konieczne przed skorzystaniem z takich regulacji. Zwiększenie maksymalnej liczby uchwytów plików tylko dlatego, że zapomniałeś wykonać inputstream.close () w pętli, tylko opóźni podstawowy problem.
źródło
Użyj ulimit (polecenie Bash - man bash lub znajdź podobny dla powłoki) dla każdej instancji programu. Nie używaj globalnych limitów systemowych, jeśli nie wiesz, co robisz - możliwe DoS.
źródło
nofile
wlimits.conf
za 100000 pomyślnie. Mogę zaświadczyć, że ustawienie zbyt dużej wartości uniemożliwiło późniejsze logowanie za pomocą SSH i musiałem uruchomić komputer z dysku DVD, aby poprawić tę wartość w pliku limit.conf, aby odzyskać system.I dodaj linię na końcu pliku
źródło