Maksymalne obsługi plików w Linux
Ustanawianie plików reprezentują maksymalną liczbę, którą poszczególni użytkownicy Linux mogą mieć dla otwartych plików na sesję. /proc/sys/fs/plik-max określa limit pliku. Jeśli chcesz ustawić limit tymczasowy przed ponownym uruchomieniem, to plik do edycji.
Aby wyświetlić bieżący limit liczby otwartych plików w hoście Linux, użyj następującego polecenia:
$ cat/proc/sys/fs/plik-max
Maksymalna wartość deskryptorów otwartych plików wymienionych w tym przypadku dotyczy hosta Linux. Różni użytkownicy mogą mieć różne wartości niż host.
Alternatywnie możesz użyć następującego polecenia:
$ sysctl fs.Plik-Max
Wartość na powyższym wyjściu reprezentuje maksymalny limit normalnego użytkownika na sesję logowania. Możesz także uzyskać miękkie i twarde wartości dla deskryptorów za pomocą Ulimit polecenie, które oferuje większą kontrolę nad zasobami i procesami powłoki.
Dla twardych wartości użyj następującego polecenia:
$ ulimit -hn
Podobnie użyj poniższego polecenia dla miękkich wartości:
$ ulimit -sn
Modyfikacja pliku/proc/sys/fs/plik-max
Niektóre aplikacje, takie jak baza danych Oracle, wymagają wyższego zakresu działającego dla deskryptorów plików. W takim przypadku musisz zmienić maksymalny prądowy limit dla otwartych plików, aby zwiększyć pojemność. Zmiana tego limitu oznacza, że modyfikujesz zmienną jądra/proc/sys/fs/plik-max i możesz to osiągnąć na dwa sposoby.
Dla pierwszej metody bezpośrednio ustaw wartość z wiersza poleceń. Na przykład, aby ustawić zakres na 324567, Polecenie byłoby następująco:
$ sudo sysctl -w fs.Plik-Max = 324567
Pamiętaj, że musisz mieć przywilej administratora do działania. Sprawdzamy nowy limit, tak jak podczas sprawdzania maksymalnego limitu.
Do następnej metody użyj go tylko wtedy, gdy chcesz na stałe ustawić nowy maksymalny limit dla otwartych plików w systemie. Pierwsza wcześniej pokazana metoda zresetuje się do wartości domyślnych po ponownym uruchomieniu.
Aby kontynuować metodę stałą, musisz użyć edytora tekstu, jak Nano Lub vi i edytuj /etc/sysctl.conf plik. W naszym przypadku użyjmy edycji VI. Polecenie będzie następujące:
$ vi /etc /sysctl.conf
Dodaj fs.Plik-Max = 324567 z nową wartością wyboru. Zapisz i wyjdź z pliku. Nowe wartości będą trwać nawet po ponownym uruchomieniu.
Dodatkowo będziesz musiał wylogować się z systemu i zalogować się, aby zmiany mogą się wpływać. Alternatywnie uruchom następujące polecenie:
$ sysctl -p
Na koniec sprawdź, czy nowy limit jest ustawiany za pomocą poprzedniego polecenia lub wymień zawartość zawartości /proc/sys/fs/plik-max Wykorzystanie polecenia CAT.
$ cat/proc/sys/fs/plik-max
Ustawienie limitów FD poziomu użytkownika
Poprzednie polecenia ustawiają deskryptory pliku (FD) dla całego systemu hosta. Jednak nie zawsze będziesz musiał modyfikować cały system. Czasami może być konieczne określenie konkretnego użytkownika, co jest możliwe.
Aby zmodyfikować określonego użytkownika, dodasz limit do /itp./bezpieczeństwo/limity.conf.
Użyj dowolnego edytora, aby otworzyć plik i wykonać edycje. W naszym przykładzie używamy VI i ustawiamy miękkie limity FD dla nazwiska użytkownika użytkownik 1.
$ sudo vi/etc/bezpieczeństwo/limity.conf
Możesz sprawdzić, czy dodane limity miękkie dla konkretnego użytkownika działały, przełączając to konto użytkownika za pomocą następujących poleceń:
$ SU User1
$ ulimit -sn
-Sn jest dla miękkich limitów. Na następujących wyjściach zauważamy, że wartość jest ustawiona na jedną zdefiniowaną w pliku konfiguracyjnym. Sugerując, że pomyślnie zmieniliśmy deskryptory plików dla konkretnego użytkownika.
Wniosek
Otóż to! Widzieliśmy, jak zmodyfikować /proc/sys/fs/plik-max Aby wyświetlić i edytować maksymalny limit otwartych plików w hoście Linux. Ponadto widzieliśmy, jak zmienić FD dla konkretnego użytkownika i ustawić stały lub tymczasowy limit dla otwartych plików w Linux.