Kaip nustatyti vartotojo paleidimo procesų ribas sistemoje „Linux“.
Viena iš Linux grožybių yra ta, kad galite valdyti beveik viską. Taip sistemos administratorius gali puikiai valdyti savo sistemą ir geriau panaudoti sistemos išteklius.
Nors kai kurie galbūt niekada negalvojo apie tai padaryti, svarbu žinoti, kad Linux sistemoje galite apriboti, kiek išteklių ir kiek laiko gali naudoti vienas vartotojas.
Taip pat skaitykite: Kaip padidinti atidarytų failų skaičių sistemoje Linux
Šioje trumpoje temoje parodysime, kaip apriboti vartotojo pradedamų procesų skaičių ir kaip patikrinti esamus limitus bei juos keisti.
Prieš eidami toliau, turime atkreipti dėmesį į du dalykus:
- Norint pakeisti vartotojo apribojimus, jums reikia root prieigos prie sistemos
- Jei ketinate keisti šias ribas, turite būti ypač atsargūs
Norėdami nustatyti naudotojų apribojimus, turėsime redaguoti šį failą:
/etc/security/limits.conf
Šis failas naudojamas taikant ulimit, sukurtą naudojant pam_module.
Failo sintaksė yra tokia:
<domain> <type> <item> <value>
Čia mes sustosime aptarti kiekvieną iš variantų:
- Domenas – tai naudotojų vardai, grupės, orientaciniai diapazonai ir kt
- Tipas – švelnios ir griežtos ribos
- Elementas – elementas, kuris bus ribojamas – branduolio dydis, failo dydis, nproc ir kt.
- Vertė – tai nurodytos ribos vertė
Geras limito pavyzdys:
@student hard nproc 20
Aukščiau pateiktoje eilutėje nustatytas griežtas daugiausiai 20 procesų apribojimas „studentas“
grupėje.
Jei norite pamatyti tam tikro proceso ribas, galite tiesiog „katinti“ apribojimų failą, pvz.:
cat /proc/PID/limits
Kai PID yra tikrasis proceso ID, proceso ID galite sužinoti naudodami komandą ps. Norėdami gauti išsamesnį paaiškinimą, perskaitykite mūsų straipsnį, kuriame sakoma - Raskite veikiančius Linux procesus ir nustatykite procesų apribojimus vienam vartotojui
Taigi čia yra pavyzdys:
cat /proc/2497/limits
Pavyzdžio išvestis
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
Visos eilutės yra beveik savaime suprantamos. Tačiau jei norite rasti daugiau nustatymų, kuriuos galite įvesti faile limits.conf, galite peržiūrėti čia pateiktą vadovą.
Jei turite klausimų ar pastabų, nedvejodami pateikite juos toliau pateiktame komentarų skyriuje.