V systéme Linux je ulimit zabudovaným nástrojom na správu alokácie zdrojov na globálnej, skupinovej a užívateľskej úrovni. Pre systém viacerých používateľov, ako je Linux, je takáto funkcia takmer prvoradá. Môže zabrániť spotrebe nežiaducich systémových zdrojov, ako sú RAM a výkon procesora.
Zistite, ako natrvalo nastaviť hodnotu ulimit v systéme Linux.
Maximálna hodnota
Ulimit vynucuje preddefinovaný limit, koľko zdrojov môže používateľ použiť. Nástroj používa ako jadro určitý konfiguračný súbor na priraďovanie hodnôt ulimit. Pre lepšie vyladenie ovládacieho prvku je lepšie súbor upraviť.
$ cat / etc / security / limits.konf
Môžu byť stanovené dva typy limitov: mäkké a tvrdé limity. Je lepšie vysvetliť tieto typy na jednoduchom príklade.
Povedzme, že správca systému by chcel, aby sa určitý používateľ pohyboval okolo určitej hodnoty. Tu môže používateľ prekročiť hodnotu, ak je to potrebné, ale nie je ňou pevne viazaný. V tomto prípade to bude mäkký limit. Na druhej strane, ak chce správca prísne stanoviť limit, bude to tvrdý limit.
Pomocou ulimit
Ulimit je nástroj príkazového riadku. Tu je základná štruktúra príkazu ulimit.
$ ulimitZobraziť všetky limity
Príznak „-a“ zobrazí zoznam všetkých možností a konfigurácií pre konkrétneho používateľa. Ak nie je definovaný žiadny používateľ, vytlačí sa namiesto toho limity pre aktuálneho používateľa.
$ ulimit -a$ ulimit -a
Na zobrazenie mäkkých limitov používateľa použite príznak „-S“.
Ak chcete zobraziť pevné limity používateľa, použite príznak „-H“.
Je možné vidieť limity určitého procesu. Podrobnosti sa nachádzajú v nasledujúcom súbore. Upozorňujeme, že ide o jedinečný súbor pre každý z procesov, ktoré sú momentálne spustené. Zamieňajte pole PID s PID cieľového procesu.
Limitné parametre
Ak chcete zmeniť ulimit, musíte deklarovať, aký typ limitu chcete definovať. Tu je užší zoznam so všetkými dostupnými parametrami, ktoré môžete zmeniť. Takmer všetky definujú maximálnu hodnotu každého z parametrov.
- b: Veľkosť vyrovnávacej pamäte zásuvky
- c: Veľkosť vytvorených základných súborov
- d: Veľkosť dátového segmentu procesu
- e: Priorita plánovania („pekná“ hodnota)
- f: Počet súborov vytvorených shellom
- i: Počet nespracovaných signálov
- l: Veľkosť na uzamknutie do pamäte
- m: Veľkosť rezidentnej súpravy
- n: Počet otvorených deskriptorov súborov
- p: Veľkosť vyrovnávacieho potrubia
- q: Počet bajtov vo frontoch správ POSIX
- r: Priorita plánovania v reálnom čase
- s: Veľkosť stohu
- t: čas procesora (v sekundách)
- T: Počet vlákien
- u: Počet procesov dostupných používateľovi
- v: Množstvo virtuálnej pamäte dostupnej na spracovanie
- x: Počet zámkov súborov
Dočasne zmeňte hodnotu ulimit
Je možné dočasne zmeniť hodnotu ulimit pre konkrétneho používateľa. Zmena bude účinná, kým nebude používateľ odhlásený, nevyprší platnosť relácie alebo sa nereštartuje systém. Tu ukážem príklad toho, ako nastaviť maximálne číslo procesu pre používateľa.
Ak chcete zmeniť počet dostupných procesov na 12345, spustite nasledujúci príkaz. Uloží to dočasný tvrdý limit pre používateľa.
$ ulimit -u$ ulimit -u 12345
Skontrolujte tvrdý limit na overenie.
Hodnotu ulimit zmeňte natrvalo
Ako už bolo spomenuté, ulimit využíva systémový konfiguračný súbor, ktorý určuje predvolenú hodnotu ulimit. Vykonaním zmien v tomto súbore môžete natrvalo zmeniť hodnotu ulimit pre ľubovoľného používateľa.
Otvorte súbor vo svojom obľúbenom textovom editore. Upozorňujeme, že aby sa zmeny mohli uložiť, musí byť súbor otvorený s oprávnením root.
$ sudo vim / etc / security / limits.konf
Tu majú záznamy súboru nasledujúcu štruktúru.
Poďme si rýchlo rozdeliť každé z polí.
- doména: používateľské mená, skupiny, rozsahy GUID atď.
- typ: Typ limitu (mäkký / tvrdý)
- položka: Zdroj, ktorý bude obmedzený, napríklad veľkosť jadra, nproc, veľkosť súboru atď.
- value: Limitná hodnota
Tu je užší zoznam všetkých dostupných položiek.
- jadro: Obmedzuje veľkosť základného súboru (v kB)
- CPU: čas procesora (v minútach)
- údaje: veľkosť údajov (v kB)
- fsize: Veľkosť súboru (v kB)
- zámky: Zámky súborov, ktoré môže užívateľ obsahovať
- memlock: Adresný priestor uzamknutý v pamäti (v kB)
- nproc: Počet procesorov
- rtpio: Priorita v reálnom čase
- sigpending: Počet nespracovaných signálov
Úplný zoznam dostupných položiek nájdete na manuálovej stránke limitov.konf.
$ man limity.konf
Napríklad nasledujúci záznam by obmedzil počet jadier CPU, ktoré môže používateľ „Viktor“ použiť, na 2.
Po úprave súbor uložte. Aby zmeny mohli nadobudnúť účinnosť, je potrebné, aby sa ich dotknutí používatelia odhlásili a znova prihlásili. V závislosti od toho, ako je implementovaná, môže byť tiež potrebné reštartovať systém.
Záverečné myšlienky
Nástroj ulimit ponúka výkonný spôsob správy zdrojov. Je to jednoduché, ale zároveň výkonné v tom, čo robí. Nech urobíte čokoľvek, uistite sa, že je správne zadaný limit, ktorý sa chystáte implementovať. Ak tieto veci skúšate prvýkrát, skúste ich najskôr vyskúšať na virtuálnom stroji.
Príkaz ulimit obsahuje viac než to, o čom som tu hovoril. Ak sa chcete dozvedieť viac, pozrite si príkaz Linux ulimit.
Šťastné výpočty!