Planuję uruchomić aplikację Java za pomocą nohup ... &. Limit musi dotyczyć takich poleceń.
Planuję uruchomić aplikację Java za pomocą nohup ... &. Limit musi dotyczyć takich poleceń.
Odpowiedzi:
Większość systemów używa PAM i ma pam_limitsustawione 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 oraz limits.confstrona 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):
* - nofile 50000
limits.confdo * hard nofile 50000i / lub * soft nofile 50000. Nie znam technicznej różnicy między twardym a miękkim i zawsze robiłem oba.
limit descriptors 50000aby zmienić wartość w danym oknie / sesji terminala.
ulimitpolecenie (wywoływane limitw 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.
sysctl fs.file-max=123456. ( /etc/sysctl.confjest odczytywany w czasie rozruchu przez skrypt, który wywołuje sysctlzawartość.)
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.
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.
nofilew limits.confza 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.
vi ~/.bashrc
I dodaj linię na końcu pliku
ulimit -n 169203