Jak zwiększyć limit otwartych plików w Ubuntu & Debian

Jak zwiększyć limit otwartych plików w Ubuntu & Debian

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.