„ulimit” este o comandă interesantă din shell-ul Linux care poate seta sau raporta limita de resurse a utilizatorului curent.

Desigur, din cauza naturii sale, lucrul cu „ulimit” necesită acces de administrator (atunci când se schimbă valoarea). În plus, va funcționa numai pe sistemele care permit controlul prin shell. Fără alte discuții, să începem cu „ulimit”!

Încărcați terminalul și rulați următoarea comandă.

care ulimit

Aceasta afișează o eroare, nu-i așa? De ce? Pentru că „ulimit” nu este un binar separat. Este încorporat în shell-ul însuși.

Utilizare de bază

Rulați comanda de una singură.

ulimit

După cum sugerează ieșirea, utilizatorul curent are o cantitate „nelimitată” de resurse care pot fi accesate. În esență, acest lucru înseamnă că utilizatorul actual poate consuma toate resursele pe care le suportă sistemul actual.

Pentru a obține raportul în detaliu, adăugați la sfârșit steagul „-a”. Acest lucru va imprima toate limitele de resurse pentru utilizatorul curent.

ulimit -a

Nota: Există 2 tipuri de limitare a resurselor: „hard” și „soft”. Limitarea hard a resurselor definește limita fizică pe care o poate atinge utilizatorul. Limita de resurse „soft” este gestionabilă de către utilizator. Valoarea sa poate ajunge până la limita „hard”.

Resursele sistemului sunt definite într-un fișier de configurare situat la „/etc/security/limits.conf”. „ulimit”, atunci când este apelat, va raporta aceste valori.

cat /etc/security/limits.conf

Verificarea diferitelor limite ale unui utilizator

Cum ar fi să afișați parametrii individuali? Apoi apelați „ulimit” cu parametrii respectivi.

Nota: Nu toate aceste comenzi vor funcționa, deoarece nu toate sistemele încorporează funcțiile.

Pentru a verifica valoarea maximă a „core file size”, utilizați flag-ul „-c”. Rezultatul va fi afișat în blocuri.

ulimit -c

Pentru „dimensiunea maximă a segmentului de date” (în kilobiți), utilizați flag-ul „-d”.

ulimit -d

În programare, prioritatea contează. Verificați prioritatea maximă de planificare a utilizatorului curent cu ajutorul indicatorului „-e”.

ulimit -e

Pentru a verifica dimensiunea maximă a stivei utilizatorului curent, utilizați indicatorul „-s”.

ulimit -s

Pentru a verifica numărul maxim de procese de utilizator, utilizați indicatorul „-u”.

ulimit -u

Pentru numărul maxim de fire de execuție, folosiți steagul „-T”.

ulimit -T

Pentru a obține dimensiunea memoriei virtuale, folosiți următoarea.

ulimit -v

Să verificăm dimensiunea buffer-ului socket-ului!

ulimit -b

Aceasta este una interesantă. Următoarea comandă va raporta timpul în care fiecare proces are voie să ruleze.

=ulimit -t

Descriptorii de fișiere sunt o altă parte interesantă a ecosistemului Linux. Pentru a verifica câți descriptori de fișiere poate avea un proces, rulați următorul:

ulimit -n

Pentru lista completă de indicatori „ulimit”, consultați pagina de ajutor a lui „ulimit”.

ulimit –help

Stabilirea valorilor

Până acum, am văzut cum se verifică valorile limitelor de resurse ale sistemului curent. Acum, este timpul să vedem cum să modificăm manual aceste valori.

Nota: Pentru modificarea limitei „hard”, va fi nevoie de acces de administrator, adică de permisiunea „root”. Aveți grijă să nu încurcați lucrurile!

Am menționat fișierul „limits.conf”, nu? Acesta este nucleul care DEFINE toate limitele care vor fi aplicabile utilizatorilor.

sudo vim /etc/security/limits.conf

După cum se arată în fișier, fiecare intrare trebuie să urmeze următoarea structură.

<domeniu> <tip> <element> <valoare>

Partea „domeniu” poate fi oricare dintre aceste valori.

  • Un anumit utilizator
  • Un grup
  • Carte tipică (* și %)

Partea „type” permite următoarele valori.

  • „soft” (pentru implementarea limitelor soft)
  • „hard” (pentru implementarea limitelor hard)

În continuare, partea „item”. Lista de opțiuni disponibile este destul de lungă! Iată câteva dintre cele mai interesante.

  • core: Dimensiunea fișierului de bază (în KB).
  • data: Dimensiunea maximă a datelor (în KB)
  • fsize: Dimensiunea maximă a fișierului (în KB).
  • memlock: Spațiul maxim de adrese blocate în memorie (în KB).
  • nofile: Numărul maxim de descriptori de fișiere
  • stack: Dimensiunea maximă a stivei (în KB).
  • cpu: Timpul maxim al CPU (în MIN).
  • maxlogins: Numărul maxim de autentificări pentru utilizatorul/grupul curent
  • prioritate: Setează prioritatea proceselor utilizatorului
  • rtprio: Prioritatea maximă în timp real.

În ceea ce privește câmpul „value”, puneți o valoare întreagă. Rețineți că unitatea fiecărui câmp este asociată cu valoarea părții „item”.

Modificările vor intra în vigoare după ce se va ieși și se va intra din nou în contul de utilizator asociat.

Pentru informații detaliate despre fișierul de configurare „limits.conf”, consultați pagina sa de manual.

man limits.conf

Gânduri finale

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.