Polecenia Linuksa

Jak ustawić wartość ulimit na stałe?

Jak ustawić wartość ulimit na stałe?

W systemie Linux ulimit to wbudowane narzędzie do zarządzania alokacją zasobów na poziomie globalnym, grupowym i użytkownika. W przypadku systemu wieloużytkownikowego, takiego jak Linux, taka funkcja jest niemal najważniejsza. Może zapobiegać zużyciu niechcianych zasobów systemowych, takich jak pamięć RAM i moc procesora.

Sprawdź, jak ustawić wartość ulimit na stałe w systemie Linux.

Wartość Ulimit

Ulimit wymusza predefiniowany limit ilości zasobów, z których może korzystać użytkownik. Narzędzie wykorzystuje określony plik konfiguracyjny jako rdzeń do przypisywania wartości ulimit. Aby uzyskać dokładniejszą kontrolę, lepiej edytować plik.

$ cat /etc/security/limits.konf


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

Załóżmy, że administrator systemu chciałby, aby pewien użytkownik poruszał się wokół określonej wartości. W tym przypadku użytkownik może w razie potrzeby przekroczyć wartość, ale nie jest przez nią ściśle związany. W tym przypadku będzie to miękki limit. Z drugiej strony, jeśli administrator chce ściśle narzucić limit, będzie to twardy limit.

Korzystanie z ulimit

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

$ulimit

Wyświetl wszystkie limity

Flaga „-a” wyświetli wszystkie opcje i konfiguracje dla konkretnego użytkownika. Jeśli żaden użytkownik nie jest zdefiniowany, zamiast tego zostaną wydrukowane limity dla bieżącego użytkownika.

$ ulimit -a

$ ulimit -a


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

$ ulimit -Sa


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

$ ulimit -Ha


Można zobaczyć granice pewnego procesu. Szczegóły znajdują się w poniższym pliku. Zauważ, że jest to unikalny plik dla każdego z aktualnie uruchomionych procesów. Zamień pole PID na PID procesu docelowego.

$ kot /proc//limity

Parametry graniczne

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 określają maksymalną wartość każdego z parametrów.

  • b: Rozmiar bufora gniazda
  • c: Rozmiar tworzonych plików podstawowych
  • d: Rozmiar segmentu danych procesu
  • e: Priorytet planowania (wartość „ładna”)
  • f: Liczba plików utworzonych przez powłokę
  • i: Liczba oczekujących sygnałów
  • l: Rozmiar do zablokowania w pamięci
  • m: rozmiar zestawu rezydenta
  • n: Liczba otwartych deskryptorów plików
  • p: Rozmiar bufora rury
  • q: 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 przetworzenia
  • x: Liczba blokad plików

Zmień tymczasowo wartość ulimit

Istnieje możliwość tymczasowej zmiany wartości ulimit dla konkretnego użytkownika. Zmiana będzie obowiązywać do czasu wylogowania użytkownika, wygaśnięcia sesji lub ponownego uruchomienia systemu. 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. Nałoży na użytkownika tymczasowy sztywny 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. Wprowadzając zmiany w tym pliku, możesz na stałe zmienić wartość ulimit dla dowolnego użytkownika.

Otwórz plik w swoim ulubionym edytorze tekstu. Pamiętaj, że plik musi zostać otwarty z uprawnieniami administratora, aby zmiany zostały zapisane.

$ sudo vim /etc/security/limits.konf


Tutaj wpisy pliku mają następującą strukturę.

$

Zróbmy szybki podział każdego z pól.

  • domena: nazwy użytkowników, grupy, zakresy GUID itp.
  • typ: Rodzaj limitu (miękkie/twarde)
  • element: Zasób, który będzie ograniczony, na przykład rozmiar rdzenia, npproc, rozmiar pliku itp.
  • wartość: wartość graniczna

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

  • rdzeń: Ogranicza rozmiar pliku rdzenia (w KB)
  • procesor: czas procesora (w min)
  • dane: Rozmiar danych (w KB)
  • fsize: Rozmiar pliku (w KB)
  • blokady: Blokady plików, które użytkownik może trzymać
  • memlock: przestrzeń adresowa Locked-in-memory (w KB)
  • npproc: liczba procesorów
  • rtpio: priorytet w czasie rzeczywistym
  • sigpending: Liczba oczekujących sygnałów

Pełną listę dostępnych pozycji znajdziesz na stronie podręcznika limitów.konf.

$ ograniczenia człowieka.konf


Na przykład poniższy wpis ograniczy liczbę rdzeni procesora, których użytkownik „Viktor” może użyć, do 2.

$ viktor hard nproc 2

Po edycji zapisz plik. Aby zmiany zaczęły obowiązywać, dotknięci użytkownicy muszą się wylogować i ponownie zalogować. W zależności od sposobu wdrożenia może również wymagać ponownego uruchomienia systemu.

Końcowe przemyślenia

Narzędzie ulimit oferuje potężny sposób zarządzania zasobami. Jest prosty, ale potężny w tym, co robi. Cokolwiek robisz, upewnij się, że limit, który zamierzasz wprowadzić, jest wpisany poprawnie. Jeśli testujesz te rzeczy po raz pierwszy, spróbuj najpierw przetestować je na maszynie wirtualnej.

Polecenie ulimit to coś więcej niż to, o czym tutaj pisałem. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z poleceniem Linux ulimit.

Udanych komputerów!

Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...
Gry Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
W przeszłości granie w gry było uważane tylko za hobby, ale z czasem branża gier odnotowała ogromny wzrost pod względem technologii i liczby graczy. P...
Gry Najlepsze gry do grania ze śledzeniem rąk
Najlepsze gry do grania ze śledzeniem rąk
Oculus Quest niedawno wprowadził świetny pomysł śledzenia rąk bez kontrolerów. Przy stale rosnącej liczbie gier i działań, które wspierają zarówno for...