„ulimit“ je zajímavý příkaz shellu Linux, který umí nastavit nebo nahlásit limit prostředků aktuálního uživatele.

Práce s „ulimit“ ovšem vzhledem k jeho povaze vyžaduje administrátorský přístup (při změně hodnoty). Navíc bude fungovat pouze v systémech, které umožňují ovládání prostřednictvím shellu. Bez dalších řečí se pustíme do práce s „ulimit“!

Zapněte terminál a spusťte následující příkaz.

který ulimit

Zobrazí se chyba, že? Proč? Protože „ulimit“ není samostatný binární soubor. Je vložen do samotného shellu.

Základní použití

Prostě spusťte příkaz sám o sobě.

ulimit

Podle výstupu má aktuální uživatel k dispozici „neomezené“ množství prostředků. V podstatě to znamená, že aktuální uživatel může spotřebovat všechny prostředky, které aktuální systém podporuje.

Chcete-li získat podrobnou zprávu, přidejte na konec příznak „-a“. Tím se vypíší všechna omezení prostředků pro aktuálního uživatele.

ulimit -a

Poznámka: Existují 2 typy omezení prostředků: „tvrdé“ a „měkké“. Tvrdé omezení prostředků definuje fyzický limit, kterého může uživatel dosáhnout. „Měkké“ omezení prostředků je spravovatelné uživatelem. Jeho hodnota může dosáhnout až „tvrdého“ limitu.

Systémové prostředky jsou definovány v konfiguračním souboru umístěném na adrese „/etc/security/limits.conf“. Příkaz „ulimit“ po zavolání tyto hodnoty ohlásí.

cat /etc/security/limits.conf

Kontrola různých limitů uživatele

Co takhle zobrazit jednotlivé parametry? Pak zavolejte příkaz „ulimit“ s příslušnými parametry.

Poznámka: Ne všechny tyto příkazy budou fungovat, protože ne každý systém tyto funkce obsahuje.

Chcete-li zkontrolovat hodnotu max „core file size“, použijte příznak „-c“. Výsledek se zobrazí v blocích.

ulimit -c

Pro zjištění maximální „velikosti datového segmentu“ (v kilobajtech) použijte příznak „-d“.

ulimit -d

Při plánování záleží na prioritě. Zjistěte maximální prioritu plánování aktuálního uživatele pomocí příznaku „-e“.

ulimit -e

Pro zjištění maximální velikosti zásobníku aktuálního uživatele použijte příznak „-s“.

ulimit -s

Pro zjištění maximálního počtu uživatelských procesů použijte příznak „-u“.

ulimit -u

Pro maximální počet vláken použijte příznak „-T“.

ulimit -T

Pro zjištění velikosti virtuální paměti použijte následující.

ulimit -v

Zjistíme velikost vyrovnávací paměti soketu!

ulimit -b

Tento je zajímavý. Následující příkaz ohlásí dobu, po kterou může každý proces běžet.

=ulimit -t

Deskriptory souborů jsou další zajímavou součástí ekosystému Linux. Chcete-li zjistit, kolik deskriptorů souborů může mít proces, spusťte následující:

ulimit -n

Úplný seznam příznaků „ulimit“ najdete na stránce nápovědy „ulimit“.

ulimit –help

Nastavení hodnot

Dosud jsme viděli, jak zjistit hodnoty limitů prostředků aktuálního systému. Nyní je čas podívat se, jak tyto hodnoty ručně změnit.

Poznámka: Pro změnu „tvrdého“ limitu bude vyžadován přístup správce, tedy oprávnění „root“. Dbejte na to, abyste nic nepokazili!

Zmínili jsme se o souboru „limits.conf“, že? Je to jádro, které DEFINUJE všechny limity, které se budou vztahovat na uživatele.

sudo vim /etc/security/limits.conf

Jak je uvedeno v souboru, každá položka musí mít následující strukturu.

<doména> <typ> <položka> <hodnota>

Částí „doména“ může být kterákoli z těchto hodnot.

  • Konkrétní uživatel
  • Skupina
  • Divoké znaky (* a %)

Část „typ“ umožňuje tyto hodnoty.

  • „soft“ (pro zavedení měkkých limitů)
  • „hard“ (pro zavedení tvrdých limitů)

Další je část „item“. Seznam dostupných možností je poměrně dlouhý! Zde jsou některé z těch zajímavých.

  • jádro: Velikost souboru jádra (v KB).
  • data: Maximální velikost dat (v KB)
  • fsize:
  • memlock: Maximální velikost souboru (v KB): Maximální adresní prostor zamčený v paměti (v KB).
  • nofile: Maximální počet deskriptorů souborů
  • stack: Maximální velikost zásobníku (v KB).
  • cpu: Maximální čas procesoru (v MIN).
  • maxlogins: Maximální počet přihlášení pro aktuálního uživatele/skupinu
  • priorita: Nastavení priority procesů uživatele
  • rtprio:

Do pole „value“ vložte celočíselnou hodnotu. Všimněte si, že jednotka každého pole je spojena s hodnotou části „položka“.

Změny se projeví po ukončení a opětovném přihlášení k příslušnému uživatelskému účtu.

Podrobné informace o konfiguračním souboru „limits.conf“ najdete na jeho manuálové stránce.

man limits.conf

Myšlenky na závěr

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.