GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz ulimit Linux

Úvod

ulimit je vestavěný příkaz prostředí Linux, který umožňuje zobrazení nebo omezení množství systémových prostředků které konzumují jednotliví uživatelé. Omezení využití zdrojů je cenné v prostředích s více uživateli a problémy s výkonem systému.

V tomto tutoriálu se naučíte používat ulimit příkaz v Linuxu s příklady.

Předpoklady

  • Systém se systémem Linux
  • Přístup k terminálu
  • Oprávnění sudo

Co je limited.conf?

Soubor limits.conf file je konfigurační soubor, který definuje nastavení alokace systémových prostředků ulimit používá. Úplná cesta ke konfiguračnímu souboru je /etc/security/limits.conf .

Změna hodnot v souboru přetrvává i po restartu systému. Pro úpravy limits.conf jsou vyžadována oprávnění superuživatele soubor.

První sekce limits.conf soubor vypadá takto:

Vysvětlení ulimit, Soft Limit a Hard Limit v Linuxu

Následující části vysvětlují ulimit syntaxe a rozdíl mezi dvěma typy omezení zdrojů – měkký limit a pevný limit .

ulimit syntaxe

ulimit příkaz má následující obecnou syntaxi:

ulimit [flags][limit]

Chcete-li například nastavit velikost fyzické paměti v kilobajtech, zadejte:

ulimit -m 15000

Příznaky

Použijte ulimit příznaky pro zobrazení nebo omezení jednotlivých hodnot pro různé systémové prostředky. Když [limit] je daná, je to nová hodnota zadaného zdroje.

Dostupné příznaky jsou:

Příznak Popis
-H pevný limit pro daný zdroj. Pouze uživatelé root mohou zvýšit pevný limit a jakýkoli proces ho může snížit.
-S Měkký limit pro daný zdroj. Jakýkoli proces může změnit měkký limit.
-a Uvádí všechny aktuální limity zdrojů.
-b Maximální velikost vyrovnávací paměti soketu.
-c Velikost výpisu jádra, vyjádřená počtem 512bajtových bloků.
-d Velikost datové oblasti v kilobajtech.
-e Nejvyšší priorita plánování procesů (pěkné).
-f Limit velikosti souboru v blocích při použití [limit] parametr. Není uveden [limit] dává příkazu, aby oznámil limit velikosti souboru.
-i Limit počtu čekajících signálů.
-k Limit počtu přidělených front.
-l Maximální povolená velikost pro uzamčení v paměti.
-m Velikost fyzické paměti v kilobajtech.
-n Maximální počet deskriptorů souborů, které může mít proces.
-p Velikost vyrovnávací paměti potrubí.
-P Maximální počet pseudoterminálů.
-q Maximální počet bajtů ve frontách zpráv POSIX.
-r Maximální počet vláken, které může mít proces.
-R Maximální doba běhu procesu vyjádřená v mikrosekundách.
-s Velikost zásobníku v kilobajtech.
-t Udává maximální dobu běhu procesu v sekundách.
-T Limit počtu vláken.
-u Udává, kolik procesů může uživatel vytvořit.
-v Maximální dostupná virtuální paměť pro procesy.
-x Maximální počet uzamčení souborů.

[limit] Parametra

Přidání [limit] předá novou hodnotu pro zadané prostředky. Když je vynechán, příkaz vytiskne aktuální hodnotu měkkého limitu pro zadaný zdroj, pokud nezadáte -H vlajka.

Limit platí pro měkký i tvrdý limit, pokud ani -H ani -S jsou specifikovány příznaky.

Výstupní hodnoty

ulimit příkaz má dvě výstupní hodnoty:

  • 0 . Označuje úspěšné dokončení.
  • >0 . Požadavek na vyšší limit byl zamítnut nebo došlo k chybě.

Měkký limit

Limity měkkých prostředků jsou hodnoty vynucené jádrem pro odpovídající prostředek. Měkký limit může spravovat každý uživatel a jeho maximální hodnota nemůže překročit pevný limit. Pevný limit funguje jako strop pro měkký limit.

Chcete-li zobrazit podrobné měkké limity pro aktuálního uživatele, spusťte:

ulimit -Sa

Pevný limit

Pevný limit zdrojů definuje limit fyzického zdroje pro uživatele. Pevný limit je zároveň maximální hodnotou pro měkký limit. Pevný limit mohou změnit pouze uživatelé root .

Chcete-li zobrazit podrobné pevné limity pro aktuálního uživatele, spusťte:

ulimit -Ha

Jak používat ulimit

Spusťte ulimit příkaz zadáním názvu příkazu do terminálu:

ulimit

Výstup zobrazuje množství prostředků, ke kterým má aktuální uživatel přístup. V tomto příkladu má uživatel neomezené systémové prostředky. Chcete-li zobrazit nebo nastavit limity jednotlivých zdrojů, použijte dostupný ulimit příznaky.

Následující sekce uvádí nejběžnější použití ulimit příkaz.

Podrobná zpráva o limitu

Získejte podrobnou zprávu se všemi limity zdrojů pro aktuálního uživatele zadáním -a příznak:

ulimit -a

Výstup obsahuje podrobnou zprávu o limitech zdrojů pro aktuálního uživatele.

Omezit číslo procesu

Omezte maximální počet procesů uživatele zadáním -u příznak a počet procesů.

Například omezíme číslo procesu na 10:

ulimit -u 10

Omezení maximálního počtu procesů na uživatele jim zabrání ve využití všech prostředků systému. Omezení počtu procesů také zabrání nepříznivým účinkům potenciálních útoků, jako je vidlicová bomba.

Například:

Ve výše uvedeném příkladu jsme nejprve omezili číslo procesu na 10 a poté provedli vidlicovou bombu. Vidlicová bomba by jinak spotřebovala všechny zdroje a systém by přestal reagovat.

Omezit velikost souboru

-f flag nastavuje maximální velikost souboru, kterou může uživatel vytvořit. Například následující příkaz omezuje velikost souboru na 50 kB:

ulimit -f 50

Otestujte, zda limit funguje, vytvořením většího souboru. Například jsme použili příkaz cat k přesměrování /dev/zero výstup do souboru, který by byl mnohem větší než 50 kB:

Výstup uvádí, že byl překročen limit velikosti souboru. Zkontrolujte velikost souboru spuštěním:

ls -lh file

Výstup příkazu ls ukazuje, že velikost souboru je přesně 50 kB, což je limit, který jsme dříve nastavili.

Omezit maximální virtuální paměť

Použijte -v příznak pro nastavení maximální velikosti virtuální paměti dostupné pro proces. Omezení virtuální paměti procesu zabrání tomu, aby spotřeboval veškerou paměť, a zabrání tomu, aby byl proces vyhazován.

Například následující příkaz omezuje virtuální paměť dostupnou pro proces na 1000 kB:

ulimit -v 1000

Omezit počet otevřených souborů

-n příznak omezuje počet současně otevřených souborů (deskriptorů souborů). Následující příklad nastaví počet otevřených souborů na pět:

ulimit -n 5

Abychom to otestovali, pokusíme se otevřít více textových souborů, což vede k chybě:

Upravte soubor limited.conf na Změnit měkký nebo pevný limit

Chcete-li změnit měkký nebo pevný limit, upravte hodnoty v limits.conf soubor.

Postupujte podle následujících kroků:

1. Otevřete okno terminálu a změňte adresář na /etc/security :

cd /etc/security

2. Otevřete soubor limits.conf pomocí textového editoru, jako je editor vim.

vim limits.conf

3. Změňte limitní hodnoty úpravou stávajících záznamů nebo přidáním nového. Každá položka omezení má čtyři části:

  • <domain> . Definuje uživatele, skupinu nebo obsahuje zástupný znak (* nebo % ).
  • <type> . Přijímá dvě hodnoty - soft nebo hard .
  • <item> . Přijímá libovolnou z hodnot uvedených v konfiguračním souboru.
  • <value> . Celočíselná hodnota vyjádřená v jednotce spojené s <item> .

Například:

Při úpravě konfiguračního souboru nezapomeňte odkomentovat řádek.


Linux
  1. Jak používat příkaz sed pro Linux

  2. Jak používat Linuxový příkaz grep

  3. Jak používat příkaz historie v Linuxu

  1. Jak používat Su Command v Linuxu

  2. Jak používat příkaz id v Linuxu

  3. Jak používat příkaz „screen“ v Linuxu

  1. Jak používat příkaz sudo v Linuxu

  2. Jak používat příkaz historie Linuxu

  3. Jak používat příkaz xargs pro Linux