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:
- Potreban vam je root pristup vašem sistemu da biste promijenili korisnička ograničenja
- 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.