Jak na stałe ustawić wartość UliMit

Jak na stałe ustawić wartość UliMit

W systemie Linux UliMit to wbudowane narzędzie do zarządzania alokacją zasobów na poziomie globalnym, grupowym i użytkownikowym. W przypadku systemu wielu użytkowników, takiego jak Linux, taka funkcja jest prawie najważniejsza. Może zapobiec konsumpcji niechcianych zasobów systemowych, takich jak pamięć RAM i moc procesora.

Sprawdź, jak na stałe ustawić wartość UliMit na Linux.

Wartość Ulimit

Ulimit wymusza predefiniowany limit tego, ile zasobów może użyć użytkownika. Narzędzie używa określonego pliku konfiguracyjnego jako rdzenia do przypisania wartości UliMit. Aby uzyskać bardziej dopracowaną kontrolę, lepiej edytować plik.

$ cat/etc/bezpieczeństwo/limity.conf


Istnieją dwa rodzaje ograniczeń, które można nałożyć: miękkie i twarde limity. Lepiej wyjaśnić te typy prostym przykładem.

Powiedzmy, że administrator systemu chciałby, aby pewien użytkownik unosił się wokół określonej wartości. Tutaj użytkownik może przekroczyć wartość w razie potrzeby, ale nie ciężko przez nią. W tym przypadku będzie to miękki limit. Z drugiej strony, jeśli administrator chce ściśle nałożyć limit, będzie to twardy limit.

Za pomocą UliMit

Ulimit to narzędzie wiersza poleceń. Oto podstawowa struktura polecenia Ulimit.

$ ulimit

Wyświetlić wszystkie limity

Flaga „-a” wymieniono wszystkie opcje i konfiguracje dla konkretnego użytkownika. Jeśli żaden użytkownik nie zostanie zdefiniowany, zamiast tego wydrukuje limity dla bieżącego użytkownika.

$ ulimit -a
$ ulimit -a


Aby wyświetlić miękkie granice użytkownika, użyj flagi „-s”.

$ ulimit -sa


Aby wyświetlić twarde limity użytkownika, użyj flagi „-H”.

$ ulimit -ha


Można zobaczyć granice określonego procesu. Szczegóły znajdują się w następującym pliku. Zauważ, że jest to unikalny plik dla każdego z obecnie uruchomionych procesów. Zamień pole PID z PID procesu docelowego.

$ cat /proc //limity

Ogranicz parametry

Aby zmienić UliMit, musisz zadeklarować, jaki rodzaj limitu chcesz zdefiniować. Oto krótka lista ze wszystkimi dostępnymi parametrami, które możesz zmienić. Prawie wszystkie z nich definiują maksymalną wartość każdego z parametrów.

  • B: Rozmiar bufora gniazda
  • C: Rozmiar utworzonych plików podstawowych
  • D: Rozmiar segmentu danych procesu
  • E: Priorytet planowania („ładna” wartość)
  • F: Liczba plików utworzonych przez powłokę
  • I: Liczba oczekujących sygnałów
  • L: Rozmiar do zablokowania pamięci
  • M: Rozmiar ustawiony przez mieszkańca
  • N: Liczba otwartych deskryptorów plików
  • P: Rozmiar bufora rury
  • P: Liczba bajtów w kolejkach komunikatów POSIX
  • R: Priorytet planowania w czasie rzeczywistym
  • S: Rozmiar stosu
  • T: Czas procesora (w sekundach)
  • T: Liczba wątków
  • U: Liczba procesów dostępnych dla użytkownika
  • V: Ilość pamięci wirtualnej dostępnej do przetwarzania
  • X: Liczba blokad plików

Tymczasowo zmień wartość Ulimit

Możliwe jest tymczasowa zmiana wartości UliMit dla konkretnego użytkownika. Zmiana pozostanie skuteczna do czasu wylogowania użytkownika, sesja wygasa lub system uruchamia. Tutaj pokażę przykład, jak ustawić maksymalny numer procesu dla użytkownika.

Aby zmienić liczbę dostępnych procesów na 12345, uruchom następujące polecenie. Narzuci użytkownikowi tymczasowy twardy limit.

$ ulimit -u
$ ulimit -u 12345


Sprawdź twardy limit do weryfikacji.

$ ulimit -hu

Zmień wartość Ulimit na stałe

Jak wspomniano wcześniej, UliMit wykorzystuje plik konfiguracyjny systemu, który określa domyślną wartość UliMit. Dokonując zmian w tym pliku, możesz trwale zmienić wartość UliMit dla każdego użytkownika.

Otwórz plik w swoim ulubionym edytorze tekstu. Zauważ, że plik należy otworzyć za zgodą root, aby zmiany zostały zapisane.

$ sudo vim/etc/bezpieczeństwo/limity.conf


Tutaj wpisy pliku są zgodne z następującą strukturą.

$

Miejmy szybki podział każdego z pól.

  • Domena: nazwy użytkowników, grupy, zakresy wskazówek itp.
  • Typ: Rodzaj limitu (miękki/twardy)
  • Pozycja: Zasób, który będzie ograniczony, na przykład rozmiar rdzenia, NPROC, rozmiar pliku itp.
  • Wartość: wartość limitu

Oto krótka lista wszystkich dostępnych przedmiotów.

  • Rdzeń: Ogranicza rozmiar pliku rdzenia (w KB)
  • CPU: czas procesora (w min)
  • Dane: rozmiar danych (w KB)
  • FSIZE: Rozmiar pliku (w KB)
  • Zamki: blokady plików może się zatrzymać
  • Memlock: Zablokowana przestrzeń adresowa w pamięci (w KB)
  • NPROC: Liczba procesorów
  • RTPIO: Priorytet w czasie rzeczywistym
  • Sigpending: Liczba w toku sygnałów

Aby uzyskać pełną listę dostępnych elementów, sprawdź stronę ograniczeń mężczyzny.conf.

$ MAN LIMITIONS.conf


Na przykład następujący wpis ograniczałby liczbę rdzeni procesora „Viktor” użytkownika może użyć do 2.

$ viktor nproc 2

Po zredagowaniu zapisz plik. Aby wprowadzić zmiany, dotknięty użytkownik (-ów) musi wylogować się i ponownie login. W zależności od tego, jak jest wdrażany, może również wymagać ponownego uruchomienia systemu.

Końcowe przemyślenia

Narzędzie UliMit oferuje potężny sposób zarządzania zasobami. To proste, ale potężne w tym, co robi. Cokolwiek zrobisz, upewnij się, że limit, który zamierzasz zaimplementować, jest wprowadzany poprawnie. Jeśli próbujesz tych rzeczy po raz pierwszy, najpierw spróbuj je przetestować w wirtualnej maszynie.

Polecenie Ulimit ma coś więcej niż to, co tutaj rozmawiałem. Jeśli chcesz dowiedzieć się więcej, sprawdź polecenie Linux Ulimit.

Szczęśliwy komputer!