Jak zwiększyć liczbę otwartych limitów plików w Linux
- 2379
- 395
- Roland Sokół
W Linux możesz zmienić maksymalną ilość otwartych plików. Możesz zmodyfikować ten numer za pomocą Ulimit Komenda. Daje ci możliwość kontrolowania zasobów dostępnych dla powłoki lub procesu uruchomionego przez nią.
Przeczytaj także: Ustaw Linux Uruchamianie limitów na poziomie użytkownika
W tym krótkim samouczku pokażemy, jak sprawdzić bieżącą limit opisów otwartych plików i plików, ale aby to zrobić, musisz mieć dostęp do swojego systemu do systemu.
Najpierw zobaczmy, w jaki sposób możemy znaleźć maksymalną liczbę otwartych deskryptorów plików w systemie Linux.
Znajdź limit plik otwartego Linux
Wartość jest przechowywana w:
# cat/proc/sys/fs/plik-max 818354
Liczba, którą zobaczysz, pokazuje liczbę plików, które użytkownik może otworzyć na sesję logowania. Wynik może być inny w zależności od systemu.
Na przykład na Centos mój serwer, limit został ustawiony na 818354, pókic Ubuntu serwer, na który uruchamiam w domu, ustawiono domyślny limit 176772.
Jeśli chcesz zobaczyć twarde i miękkie limity, możesz użyć następujących poleceń:
Sprawdź twardy limit w Linux
# Ulimit -hn 4096
Sprawdź miękkie limity w Linux
# Ulimit -sn 1024
Aby zobaczyć twarde i miękkie wartości dla różnych użytkowników, możesz po prostu zmienić użytkownika z „Su” do użytkownika, który ogranicza się do sprawdzenia.
Na przykład:
# Su Marin $ ulimit -sn 1024
$ ulimit -hn 4096
Jak sprawdzić limity deskryptorów plików szerokich systemu w Linux
Jeśli używasz serwera, niektóre z twoich aplikacji mogą wymagać wyższych limitów dla otwartych deskryptorów plików. Dobrym przykładem jest to Mysql/Mariadb usługi lub Apache serwer internetowy.
Możesz zwiększyć limit otwartych plików w Linux, edytując dyrektywę jądra fs.Plik-Max
. W tym celu możesz użyć Sysctl pożytek.
Sysctl służy do konfigurowania parametrów jądra w czasie wykonywania.
Na przykład, aby zwiększyć ograniczenie pliku otwartego do 500000, Możesz użyć następującego polecenia jako root:
# sysctl -w fs.plik-Max = 500000
Możesz sprawdzić bieżącą wartość dla otwartych plików za pomocą następującego polecenia:
$ cat/proc/sys/fs/plik-max
Z powyższym poleceniem wprowadzone zmiany pozostaną aktywne do następnego ponownego uruchomienia. Jeśli chcesz je na stałe zastosować, będziesz musiał edytować następujący plik:
# vi /etc /sysctl.conf
Dodaj następujący wiersz:
fs.plik-Max = 500000
Oczywiście możesz zmienić liczbę na swoje potrzeby. Aby zweryfikować zmiany ponownie, użyj:
# cat/proc/sys/fs/plik-max
Użytkownicy będą musieli ponownie wylogować się i zalogować, aby zmiany w obowiązywaniu. Jeśli chcesz natychmiast zastosować limit, możesz użyć następującego polecenia:
# sysctl -p
Ustaw limity pliku Otwórz poziomu użytkownika w Linux
Powyższe przykłady pokazały, jak ustawić globalne limity, ale możesz zastosować limity na podstawę użytkownika. W tym celu, jako root użytkownika, musisz edytować następujący plik:
# vi/etc/bezpieczeństwo/limity.conf
Jeśli jesteś administratorem Linuksa, sugeruję, abyś zapoznał się z tym plikiem i tym, co możesz z tym zrobić. Przeczytaj wszystkie komentarze w nim, ponieważ zapewnia dużą elastyczność w zakresie zarządzania zasobami systemowymi poprzez ograniczenie użytkowników/grup na różnych poziomach.
Linie, które powinieneś dodać, przyjmują następujące parametry:
Oto przykład ustawienia miękkich i twardych limitów dla użytkownika Marin:
## Przykład twardy limit dla maksymalnie otwartych plików Marin Hard Nofile 4096 ## Przykład miękki limit dla maksymalnych plików Marin Soft Nofile 1024
Końcowe przemyślenia
Ten krótki artykuł pokazał podstawowy przykład, w jaki sposób możesz sprawdzić i skonfigurować limity poziomu globalnego i użytkownika dla maksymalnej liczby otwartych plików.
Chociaż właśnie porysowaliśmy powierzchnię, gorąco zachęcam do bardziej szczegółowego spojrzenia i przeczytania /etc/sysctl.conf I /itp./bezpieczeństwo/limity.conf i naucz się ich używać. Będą dla ciebie bardzo pomocne.
- « Jak ustawić limity procesów uruchamiających użytkowników w Linux
- Znajdź 10 najważniejszych adresów IP uzyskujących dostęp do serwera WWW Apache »