Kuidas piirata protsesside aega ja mälukasutust Linuxis


Ajalõpu skript on kasulik ressursside jälgimise programm Linuxi protsesside aja ja mälu tarbimise piiramiseks. See võimaldab teil käivitada programme kontrolli all ning jõustada aja- ja mälupiirangud, lõpetades programmi nende parameetrite rikkumisel.

Installimist pole vaja, lihtsalt käivitage käsk koos selle argumentidega, kasutades ajalõppeprogrammi, ja see jälgib käsu mälu ja ajakulu, katkestades protsessi, kui see ületab piire, ja teavitab teid etteantud sõnumiga.

Selle skripti käitamiseks peab teie Linuxi süsteemi olema installitud Perl 5 ja/proc failisüsteem.

Perli installitud versiooni kontrollimiseks Linuxi süsteemis käivitage järgmine käsk.

$ perl -v

Seejärel kloonige ajalõpu hoidla oma süsteemi, kasutades tavalist Linuxi käsku.

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

Vaatame nüüd, kuidas töötab ajalõpu skript.

See esimene näide näitab, kuidas piirata protsessi mälukasutust 100M virtuaalmäluga, kasutades lippu -m . Vaikimisi on mälu ühik kilobaitides.

Siin käivitab stress-ng käsk 4 virtuaalmälu stressorit (VMS), mis kombineerituna kasutavad 40% olemasolevast mälust 10 minutit. Seega kasutab iga stressor 10% olemasolevast mälust.

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

Arvestades ülaltoodud ajalõpu väljundit, lõpetati stress-ng-töötaja protsessid vaid 1,16 sekundi pärast. Selle põhjuseks on asjaolu, et VMS-i (438660 kilobaiti) mälumaht on suurem kui stress-ng ja selle alamprotsesside lubatud virtuaalne mälukasutus.

Protsessi ajalise piiramise lubamiseks kasutage lipu -t , nagu näidatud.

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

Ülaltoodud näites tapetakse töötaja protsessid, kui stress-ng CPU + SYS aeg ületab määratletud väärtuse 4.

Samuti saate korraga piirata nii mälu kui ka aega järgmiselt.

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

Timeout toetab ka mõnda täpsemat valikut, näiteks --detect-hangups , mis võimaldab hangupi tuvastamist.

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

RSS (resident set size) mälupiirangut saate jälgida lülitiga --memlimit-rss või -s .

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

Lisaks saate protsessi väljumiskoodi või signaali + 128 tagastamiseks kasutada valikut --confess või -c , nagu näidatud.

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

Lisateavet ja kasutusnäidet leiate aegumise Githubi hoidlast: https://github.com/pshved/timeout.

Samuti võivad need järgmised seotud artiklid olla sama kasulikud:

  1. Kuidas leida top 15 protsessi mälumõõtude abil partiirežiimis 'top'
  2. CPUTool - mis tahes protsessori kasutamise piiramine ja kontrollimine Linuxis
  3. Kuidas piirata protsessori CPU kasutamist Linuxis CPULimiti tööriistaga

Ajalõpu skript on lihtne ressursside jälgimise programm, mis piirab sisuliselt protsesside aega ja mälutarbimist Linuxis. Aegumisskripti kohta saate meile tagasisidet anda alloleva kommentaarivormi kaudu.