Odpowiedź Justina mówi, jak zwiększyć liczbę otwartych plików dostępnych ogółem dla całego systemu. Ale myślę, że pytasz, jak zwiększyć limit na użytkownika na całym świecie. Odpowiedzią na to jest dodanie następujących wierszy /etc/security/limits.conf:
* soft nofile 2048
* hard nofile 2048
(Gdzie * oznacza wszystkich użytkowników.)
W tym pliku iw nim jest trochę dokumentacji podsumowującej man limits.conf. Jest to realizowane przez pam_limits.somoduł, który jest wywoływany dla różnych usług skonfigurowanych w/etc/pam.d/ .
I muszę przyznać, że nie mam pojęcia, skąd bierze się domyślna 1024. I uwierz mi, spojrzałem. Próbowałem nawet bez skonfigurowanego modułu pam_limits i nadal tam jest. Musi być gdzieś zakodowany, ale nie jestem do końca pewien, gdzie.
Hmm ... Ustawiłem to poprawnie. Wyjdź z SSH i wróć, a mój miękki limit jest nadal ustawiony na 1024. Czy brakuje mi czegoś, aby to „aktywować”? Dzięki.
Joshua Pinter,
@mattdm - Warto wspomnieć, że w niektórych dystrybucjach Linuksa wspomniany plik będzie pod: /etc/limits.conf
Następnie zapisz i zamknij plik. Użytkownicy muszą się wylogować i zalogować ponownie, aby zmiany odniosły skutek, lub mogą po prostu wpisać następujące polecenie:
# sysctl -p
Możesz również zweryfikować swoje ustawienia za pomocą polecenia:
Jestem sceptycznie nastawiony do konieczności wylogowania i ponownego zalogowania się w tym konkretnym ustawieniu, które dotyczy całego systemu. (To dotyczy
praktycznie
13
Zwiększ maksymalną liczbę otwartych plików ulimit w systemie Linux
1. Krok: otwórz sysctl.conf i dodaj tę linię fs.file-max = 65536
$ vi /etc/sysctl.conf
dodaj nową linię i
fs.file-max = 65536
Zapisz i wyjdź.
2. krok:
$ vi /etc/security/limits.conf
i dodaj poniżej wspomniane
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
Ale jeśli próbujesz zwiększyć maksymalną liczbę otwartych plików usługi, takiej jak MariaDB lub coś innego (używając systemd ), musisz to zrobić bezpośrednio w pliku .service
Należy to ocenić, ponieważ wszechobecność systemdwraz z jej ciągłymi zmianami rośnie w całym ekosystemie Linuksa. Chociaż sugerowałbym edycję odpowiedzi cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/i dokonanie zmian w tym pliku, a nie w ogólnosystemowym pliku usługi dostarczonym przez pakiet.
ILMostro_7
3
SUPLEMENT:
Możesz znaleźć config w innym miejscu: /etc/security/limits.d/*.conf
Musiałem to zmodyfikować. Bez tego nie działałoby. Format jest taki sam jak dlalimits.conf
Odpowiedzi:
Odpowiedź Justina mówi, jak zwiększyć liczbę otwartych plików dostępnych ogółem dla całego systemu. Ale myślę, że pytasz, jak zwiększyć limit na użytkownika na całym świecie. Odpowiedzią na to jest dodanie następujących wierszy
/etc/security/limits.conf
:(Gdzie * oznacza wszystkich użytkowników.)
W tym pliku iw nim jest trochę dokumentacji podsumowującej
man limits.conf
. Jest to realizowane przezpam_limits.so
moduł, który jest wywoływany dla różnych usług skonfigurowanych w/etc/pam.d/
.I muszę przyznać, że nie mam pojęcia, skąd bierze się domyślna 1024. I uwierz mi, spojrzałem. Próbowałem nawet bez skonfigurowanego modułu pam_limits i nadal tam jest. Musi być gdzieś zakodowany, ale nie jestem do końca pewien, gdzie.
źródło
Zgodnie z artykułem Linux Zwiększ maksymalną liczbę otwartych plików / deskryptorów plików (FD) , możesz zwiększyć limit otwartych plików, dodając wpis
/etc/sysctl.conf
.Dodaj dyrektywę config w następujący sposób:
Następnie zapisz i zamknij plik. Użytkownicy muszą się wylogować i zalogować ponownie, aby zmiany odniosły skutek, lub mogą po prostu wpisać następujące polecenie:
Możesz również zweryfikować swoje ustawienia za pomocą polecenia:
źródło
Zwiększ maksymalną liczbę otwartych plików ulimit w systemie Linux
1. Krok: otwórz
sysctl.conf
i dodaj tę linięfs.file-max = 65536
dodaj nową linię i
Zapisz i wyjdź.
2. krok:
i dodaj poniżej wspomniane
zapisz i zamknij sprawdź max otwarty plik
ulimit
źródło
Ale jeśli próbujesz zwiększyć maksymalną liczbę otwartych plików usługi, takiej jak MariaDB lub coś innego (używając systemd ), musisz to zrobić bezpośrednio w pliku .service
Będzie coś takiego:
Pełna odpowiedź jest tutaj: Zwiększenie nproc dla procesów uruchomionych przez systemd na CentOS 7
źródło
systemd
wraz z jej ciągłymi zmianami rośnie w całym ekosystemie Linuksa. Chociaż sugerowałbym edycję odpowiedzicp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
i dokonanie zmian w tym pliku, a nie w ogólnosystemowym pliku usługi dostarczonym przez pakiet.SUPLEMENT:
Możesz znaleźć config w innym miejscu:
/etc/security/limits.d/*.conf
Musiałem to zmodyfikować. Bez tego nie działałoby. Format jest taki sam jak dla
limits.conf
źródło