Kako nastaviti omejitve za uporabniške procese v Linuxu


Ena izmed lepot Linuxa je, da lahko nad njim nadzirate skoraj vse. To daje skrbniku sistema velik nadzor nad svojim sistemom in boljšo izrabo sistemskih virov.

Čeprav nekateri morda nikoli niso razmišljali o tem, je pomembno vedeti, da lahko v Linuxu omejite, koliko virov lahko en uporabnik uporablja in kako dolgo.

V tej kratki temi vam bomo pokazali, kako omejiti število postopkov, ki jih je začel uporabnik, in kako preveriti trenutne omejitve in jih spremeniti.

Preden nadaljujemo, moramo poudariti dve stvari:

  1. Za spreminjanje uporabniških omejitev potrebujete korenski dostop do sistema
  2. Bodite previdni, če nameravate spremeniti te omejitve

Če želite nastaviti uporabniške omejitve, bomo morali urediti naslednjo datoteko:

/etc/security/limits.conf

Ta datoteka se uporablja za uporabo ulimita, ki ga je ustvaril pam_module.

Datoteka ima naslednjo sintakso:

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

Tu se bomo ustavili, da bi razpravljali o vsaki od možnosti:

  • Domena - to vključuje uporabniška imena, skupine, vodila itd.
  • Vrsta - mehke in trde omejitve
  • Element - element, ki bo omejen - velikost jedra, velikost datoteke, nproc itd.
  • Vrednost - to je vrednost za dano omejitev

Dober vzorec za mejo je:

@student          hard           nproc                20

Zgornja vrstica določa omejitev največ 20 procesov v skupini \"student \" .

Če želite videti omejitve določenega procesa, lahko preprosto "mačite" datoteko z omejitvami, kot je ta:

# cat /proc/PID/limits

Kjer je PID dejanski ID procesa, lahko ID procesa ugotovite z ukazom ps. Za podrobnejšo razlago preberite članek z naslovom - Poiščite izvajane procese Linuxa in nastavite omejitve procesov na raven uporabnika

Tu je primer:

# cat /proc/2497/limits
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   

Vse vrstice so precej samoumevne. Če pa želite najti več nastavitev, ki jih lahko vnesete v datoteko limit.conf, si lahko ogledate tukaj priročnik.

Če imate kakršna koli vprašanja ali komentarje, jih prosimo, ne odlašajte in jih oddajte v spodnjem oddelku za komentarje.