Jak zwiększyć limit otwartych plików w Ubuntu & Debian
- 1394
- 137
- Juliusz Janicki
Czasami borykaliśmy się z problemami „Zbyt wiele otwartych plików”W systemie Linux. Oznacza to, że nasz serwer osiągnął maksymalny limit pliku otwartego. Dzieje się tak ze względu na limity zasobów ustalone przez system dla dowolnego użytkownika lub sesji. Na przykład maksymalny rozmiar utworzonych plików, maksymalny rozmiar, który można zablokować w pamięci, maksymalny czas procesora, maksymalna liczba dozwolonych procesów, maksymalny rozmiar dostępnej pamięci wirtualnej.
Zasadniczo istnieją dwa rodzaje granic:
- A twardy limit to maksymalny dozwolony limit użytkownika lub sesji, który jest ustawiony przez superuser/root.
- A miękki limit to obecna efektywna wartość dla użytkownika lub sesji. Co może wzrosnąć przez użytkownika do twardego limitu.
Sprawdź aktualne limity
Ulimit Polecenie zapewnia kontrolę nad zasobami dostępnymi dla każdego użytkownika za pośrednictwem powłoki. Możesz użyć poniżej polecenia
Aby uzyskać bieżące ustawienia.
Ulimit -a
Aby wyświetlić bieżący twardy limit lub miękki limit, użyj następującego polecenia.
Ulimit -sn # Sprawdź miękki limit Ulimit -hn # Sprawdź twardy limit
Zwiększenie limitu bieżącej sesji
Większość systemów operacyjnych może zmienić limit otwartych plików dla bieżącej sesji powłoki za pomocą polecenia UniMit -N:
Ulimit -n 200000
Zwiększ limit dla użytkownika
Możesz zdefiniować limit plik otwartego użytkownika w systemie Linux opartym na debian. Aby ustawić limit dla użytkownika, edytuj/etc/bezpieczeństwo/limity.plik conf w edytorze tekstu.
sudo vim/etc/bezpieczeństwo/limity.conf
Dodaj następujące wartości w pliku:
* Soft NPROC 65535 * Hard NPROC 65535 * Soft Nofile 65535 * Hard Nofile 65535 Jack Soft NPROC 200000 JACK Hard NPROC 200000 JACK Soft Nofile 200000 Jack Hard Nofile 200000
Tutaj określamy osobne limity, które wynoszą 200000 dla użytkownika „JACK” i 65535 zostanie zastosowane dla reszty użytkowników. Możesz zmienić te wartości na swoje wymagania.
Następnie włącz PAM_LIMITS w następujący sposób:
sudo vim /etc /pam.D/Wspólna sesja
Dodaj następujący wiersz:
Wymagane sesję PAM_LIMITS.Więc
Zwiększ limit całego systemu
Możesz także ustawić limity całego systemu, edytując plik konfiguracyjny SYSCTL. Edytuj Sysctl.Plik CONF:
vim /etc /sysctl.conf
Dodaj następujący wiersz:
fs.Plik-Max = 2097152
Następnie uruchom następujące polecenie, aby zastosować powyższe zmiany:
sysctl -p
Powyższe zmiany zwiększą maksymalną liczbę plików, które mogą pozostać otwarte w całym systemie. Określony limit użytkownika nie może być wyższy niż limit całego systemu.