Linux-da prosesleriň wagtyny we ýadyny nädip çäklendirmeli


Wagtyň gutarmagy skript, Linux-daky prosesleriň wagtyny we ýadyny sarp etmek üçin peýdaly çeşme gözegçilik programmasydyr. Dolandyryş astyndaky programmalary işletmäge we wagt we ýadyň çäklerini ýerine ýetirmäge mümkinçilik berýär, bu parametrler bozulandan soň programmany ýatyrýar.

Gurnama zerurlygy ýok, wagt gutarmak programmasyny ulanyp, argumentleri bilen bilelikde buýrugy ýerine ýetiriň we buýrugyň ýadyna we wagt sarp edilişine gözegçilik eder, çäkden çyksa prosesi keser we öňünden kesgitlenen habar bilen size habar berer.

Bu skripti işletmek üçin Linux ulgamyňyzda Perl 5 gurnalan we/proc faýl ulgamy gurlan bolmaly.

Linux ulgamyňyzda Perl-iň gurnalan wersiýasyny barlamak üçin aşakdaky buýrugy işlediň.

$ perl -v

Ondan soň, adaty Linux buýrugyny ulanyp, gutarýan ammaryny ulgamyňyza klonlaň.

$ cd ~/bin
$ git clone https://github.com/pshved/timeout.git
$ cd timeout

Indi gutarýan skriptiň işleýşine seredeliň.

Bu ilkinji mysal, -m baýdagyny ulanyp, prosessiň ýadyň ulanylyşyny 100M wirtual ýat bilen nädip çäklendirmelidigini görkezýär. Memoryat üçin deslapky birlik kilobaýtda.

Bu ýerde, stress-ng buýrugy bar bolan ýadyň 40% -ini 10 minutda ulanmak üçin birleşýän 4 wirtual ýat stresini (VMS) işledýär. Şeýlelik bilen, her bir stres bar bolan ýadyň 10% -ini ulanýar.

$ ./timeout -m 100000 stress-ng --vm 4 --vm-bytes 40% -t 10m

Aboveokardaky gutarmak buýrugynyň netijesini göz öňünde tutsak, stres-ng iş prosesi bary-ýogy 1,16 sekuntdan soň bes edildi. Munuň sebäbi, VMS-iň (438660 kilobaýt) ýatda saklanylyşy, stres we çaga amallary üçin rugsat berlen wirtual ýadyň ulanylyşyndan has ýokarydyr.

Amalyň wagt çäklendirilmegini üpjün etmek üçin, görkezilişi ýaly -t baýdagyny ulanyň.

$ ./timeout -t 4 stress-ng --vm 4 --vm-bytes 40% -t 10m

Aboveokardaky mysalda, stres-ng CPU + SYS wagty kesgitlenen bahadan 4-den geçende, işçi amallary öldürilýär.

Şeýle hem ýady we wagty birbada aşakdaky ýaly çäklendirip bilersiňiz.

$ ./timeout -t 4 -m 100000 stress-ng --vm 4 --vm-bytes 40% -t 10m

Wagt gutarmagy, şeýle hem asylmagy kesgitlemäge mümkinçilik berýän --detect-hangups ýaly käbir ösen wariantlary goldaýar.

$ ./timeout --detect-hangups -m 100000 stress-ng --vm 4 --vm-bytes 40% -t 10m

--memlimit-rss ýa-da -s wyklýuçatelini ulanyp, RSS (ýaşaýjynyň kesgitlenen ululygy) ýat çägine gözegçilik edip bilersiňiz.

$ ./timeout -m 100000 -s  stress-ng --vm 4 --vm-bytes 40% -t 10m

Mundan başga-da, çykyş koduny ýa-da amalyň + 128 signalyny yzyna gaýtarmak üçin görkezilişi ýaly --confess ýa-da -c opsiýasyny ulanyň.

$ ./timeout -m 100000 -c  stress-ng --vm 4 --vm-bytes 40% -t 10m

Has giňişleýin maglumat we ulanylyş mysaly üçin gutarýan Github ammaryna serediň: https://github.com/pshved/timeout.

Şeýle hem şu aşakdaky degişli makalalary deň derejede peýdaly tapyp bilersiňiz:

  1. Topar rejesinde “ýokarky” bilen ýadyň ulanylyşy boýunça iň gowy 15 prosesi nädip tapmaly
  2. CPUTool - Linux-da islendik prosessiň ulanylmagyny çäklendiriň we gözegçilikde saklaň
  3. CPULimit Tool bilen Linux-da prosessiň CPU ulanylyşyny nädip çäklendirmeli?

Wagt gutarýan skript, Linux-daky prosesleriň wagtyny we ýadyny sarp etmegi çäklendirýän ýönekeý çeşme gözegçilik programmasydyr. Aşakdaky düşündiriş formasy arkaly gutarýan skript barada bize jogap berip bilersiňiz.