Kako postaviti ograničenja za korisničke pokrenute procese u Linuxu


Jedna od ljepota Linuxa je da možete kontrolirati gotovo sve u vezi s njim. Ovo administratoru sistema daje odličnu kontrolu nad svojim sistemom i bolje iskorišćenje sistemskih resursa.

Iako neki možda nikada nisu razmišljali o tome, važno je znati da u Linuxu možete ograničiti koliko resursa jedan korisnik može koristiti i koliko dugo.

Pročitajte također: Kako povećati ograničenje broja otvorenih datoteka u Linuxu

U ovoj kratkoj temi ćemo vam pokazati kako ograničiti broj procesa koje je pokrenuo korisnik i kako provjeriti trenutna ograničenja i modificirati ih.

Prije nego što krenemo dalje postoje dvije stvari na koje moramo ukazati:

  1. Potreban vam je root pristup vašem sistemu da biste promijenili korisnička ograničenja
  2. Morate biti izuzetno oprezni ako planirate izmijeniti ova ograničenja

Da bismo postavili korisnička ograničenja, morat ćemo urediti sljedeći fajl:


/etc/security/limits.conf

Ovaj fajl se koristi za primjenu ulimit kreiranog od strane pam_module.

Fajl ima sljedeću sintaksu:

<domain> <type> <item> <value>

Ovdje ćemo stati kako bismo razgovarali o svakoj od opcija:

  • Domena – ovo uključuje korisnička imena, grupe, opsege vodiča itd
  • Tip – meka i tvrda ograničenja
  • Stavka – stavka koja će biti ograničena – veličina jezgre, veličina datoteke,  nproc itd.
  • Vrijednost – ovo je vrijednost za dato ograničenje

Dobar uzorak za ograničenje je:

@student          hard           nproc                20

Gornji red postavlja tvrdo ograničenje od maksimalno 20 procesa u grupi "student".

Ako želite vidjeti ograničenja određenog procesa, možete jednostavno "mačkati" fajl ograničenja na sljedeći način:


cat /proc/PID/limits

Gdje je PID stvarni ID procesa, možete saznati ID procesa pomoću naredbe ps. Za detaljnije objašnjenje pročitajte naš članak koji kaže – Pronađite pokrenute Linux procese i postavite ograničenja procesa po nivou korisnika

Dakle, evo primjera:


cat /proc/2497/limits
Sample Output

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

Sve linije su prilično jasne. Međutim, ako želite pronaći više postavki koje možete unijeti u datoteku limits.conf, možete pogledati priručnik koji se nalazi ovdje.

Ako imate bilo kakvih pitanja ili komentara, ne ustručavajte se da ih pošaljete u odeljku za komentare ispod.