Jinsi ya Kuweka Mipaka kwa Michakato ya Kuendesha Mtumiaji katika Linux


Moja ya uzuri wa Linux ni kwamba unaweza kudhibiti karibu kila kitu kuihusu. Hii humpa msimamizi wa mfumo udhibiti mkubwa wa mfumo wake na matumizi bora ya rasilimali za mfumo.

Ingawa wengine wanaweza kuwa hawajawahi kufikiria kufanya hivi, ni muhimu kujua kwamba katika Linux unaweza kuweka kikomo ni rasilimali ngapi ambayo mtumiaji mmoja anaweza kutumia na kwa muda gani.

Katika mada hii fupi, tutakuonyesha jinsi ya kupunguza idadi ya michakato iliyoanzishwa na mtumiaji na jinsi ya kuangalia mipaka ya sasa na kuirekebisha.

Kabla hatujaendelea, kuna mambo mawili tunayohitaji kuelekeza:

  1. Unahitaji ufikiaji wa mizizi kwa mfumo wako ili kurekebisha vikomo vya watumiaji
  2. Lazima uwe mwangalifu sana ikiwa unapanga kurekebisha vikomo hivi

Ili kusanidi vikomo vya watumiaji, tutahitaji kuhariri faili ifuatayo:

/etc/security/limits.conf

Faili hii inatumika kutumia ulimit iliyoundwa na pam_module.

Faili ina syntax ifuatayo:

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

Hapa tutasimama ili kujadili kila moja ya chaguzi:

  • Kikoa - hii inajumuisha majina ya watumiaji, vikundi, safu elekezi n.k
  • Aina - vikomo laini na ngumu
  • Kipengee - kipengee kitakachodhibitiwa - saizi ya msingi, saizi ya faili,  nproc n.k
  • Thamani - hii ndiyo thamani ya kikomo kilichotolewa

Mfano mzuri wa kikomo ni:

@student          hard           nproc                20

Mstari ulio hapo juu unaweka kikomo cha juu cha michakato 20 kwenye \mwanafunzi\ kikundi.

Iwapo ungependa kuona kikomo cha mchakato fulani unaweza kuweka faili ya mipaka kama hii:

# cat /proc/PID/limits

Ambapo PID ndio kitambulisho halisi cha mchakato, unaweza kupata kitambulisho cha mchakato kwa kutumia ps amri. Kwa maelezo zaidi, soma nakala yetu inayosema - Tafuta Michakato ya Linux inayoendesha na Weka Mipaka ya Mchakato kwa Kiwango cha Mtumiaji.

Kwa hivyo hapa kuna mfano:

# 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   

Mistari yote inajieleza sana. Hata hivyo kama ungependa kupata mipangilio zaidi unayoweza kuingiza katika faili ya limits.conf, unaweza kuangalia mwongozo uliotolewa hapa.

Ikiwa una maswali au maoni yoyote, tafadhali usisite kuyawasilisha katika sehemu ya maoni hapa chini.