Kif tillimita l-użu tal-ħin u l-memorja tal-proċessi fil-Linux


L-iskript tal-timeout huwa programm utli ta' monitoraġġ tar-riżorsi biex jillimita l-konsum tal-ħin u l-memorja tal-proċessi fil-Linux. Jippermettilek tmexxi programmi taħt kontroll, u tinforza l-limiti tal-ħin u tal-memorja, u ttemm il-programm mal-ksur ta 'dawn il-parametri.

Ebda installazzjoni meħtieġa, sempliċiment tesegwixxi kmand flimkien mal-argumenti tiegħu billi tuża programm ta 'timeout u tissorvelja l-memorja tal-kmand u l-konsum tal-ħin, tinterrompi l-proċess jekk toħroġ mil-limiti, u tinnotifikak bil-messaġġ predefinit.

Biex tmexxi dan l-iskript, irid ikollok Perl 5 installat fis-sistema Linux tiegħek u s-sistema tal-fajls /proc immuntata.

Biex tiċċekkja l-verżjoni installata ta 'Perl fis-sistema Linux tiegħek, mexxi l-kmand li ġej.

$ perl -v

Sussegwentement, kklona r-repożitorju tal-timeout fis-sistema tiegħek billi tuża l-kmand tas-soltu tal-Linux.

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

Ejja issa nħarsu lejn kif taħdem l-iskrittura tal-timeout.

Dan l-ewwel eżempju juri kif tillimita l-użu tal-memorja ta’ proċess għal 100M ta’ memorja virtwali, bl-użu tal-marka -m. L-unità default għall-memorja hija f'kilobytes.

Hawnhekk, il-kmand stress-ng imexxi 4 stressors tal-memorja virtwali (VMS) li jikkombinaw biex jużaw 40% tal-memorja disponibbli għal 10 minuti. Għalhekk kull stressor juża 10% tal-memorja disponibbli.

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

Meta wieħed iqis l-output tal-kmand tal-timeout hawn fuq, il-proċessi tal-ħaddiema stress-ng ġew mitmuma wara biss 1.16 sekondi. Dan għaliex il-konsum tal-memorja kkombinat tal-VMS (438660 kilobytes) huwa akbar mill-użu permess tal-memorja virtwali għall-istress-ng u l-proċessi tfal tiegħu.

Biex tippermetti l-limitazzjoni taż-żmien tal-proċess, uża l-marka -t kif muri.

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

Fl-eżempju ta 'hawn fuq, meta l-ħin stress-ng CPU + SYS jaqbeż il-valur definit ta' 4, il-proċessi tal-ħaddiem jinqatlu.

Tista 'wkoll tillimita kemm il-memorja kif ukoll il-ħin f'daqqa kif ġej.

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

Timeout jappoġġja wkoll xi għażliet avvanzati bħal --detect-hangups, li jippermetti l-iskoperta hangup.

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

Tista' tissorvelja l-limitu tal-memorja RSS (resident set size) billi tuża l-iswiċċ --memlimit-rss jew -s.

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

Barra minn hekk, biex tirritorna l-kodiċi tal-ħruġ jew is-sinjal+128 ta’ proċess, uża l-għażla --confess jew -c kif muri.

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

Għal aktar informazzjoni u eżempju ta’ użu, ara r-repożitorju ta’ Timeout Github: https://github.com/pshved/timeout.

Tista' ssib ukoll dawn l-artikoli relatati li ġejjin ugwalment utli:

  1. Kif Sib l-Ewwel 15-il Proċess bl-Użu tal-Memorja b'‘top’ fil-Modalità Lott
  2. CPUTool – Limitu u Kontroll l-Użu tas-CPU ta' Kwalunkwe Proċess fil-Linux
  3. Kif tillimita l-Użu tas-CPU ta' Proċess fil-Linux b'CPULimit Tool

L-iskrittura ta' timeout huwa programm sempliċi ta' monitoraġġ tar-riżorsi li essenzjalment jirrestrinġi l-konsum tal-ħin u l-memorja tal-proċessi fil-Linux. Tista' tagħtina feedback dwar l-iskrittura tal-timeout permezz tal-formola tal-kummenti hawn taħt.