Yadda za a iyakance Lokaci da Amfani da Ayyuka a cikin Linux


Rubutun lokaci-lokaci shiri ne mai lura da kayan aiki don iyakance lokaci da yawan amfani da ƙwaƙwalwar ajiya a cikin Linux. Yana ba ka damar gudanar da shirye-shirye a ƙarƙashin sarrafawa, da kuma tilasta iyakance lokaci da ƙwaƙwalwar ajiya, dakatar da shirin akan keta waɗannan sigogin.

Babu buƙatar shigarwa da ake buƙata, kawai aiwatar da umarni tare da mahawara ta amfani da shirin fitowar lokaci kuma zai saka ido kan ƙwaƙwalwar umurnin da cin lokaci, tare da katse aikin idan ya wuce iyaka, kuma ya sanar da kai saƙon da aka ayyana.

Don gudanar da wannan rubutun, dole ne a girka Perl 5 akan tsarin Linux ɗinku kuma an ɗora fayilolin fayiloli/proc.

Don bincika sigar shigar da Perl akan tsarin Linux ɗinku, gudanar da wannan umarnin.

$ perl -v

Na gaba, sanya ajiyar ajiyar lokaci zuwa tsarinka ta amfani da umarnin Linux da aka saba.

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

Yanzu bari mu duba yadda rubutun lokaci yake aiki.

Wannan misali na farko yana nuna yadda za'a iyakance amfani da ƙwaƙwalwar ajiyar aiki zuwa 100M na ƙwaƙwalwar ajiya, ta amfani da tutar -m . Tsoffin naúrar don ƙwaƙwalwa tana cikin kilobytes.

Anan, umarnin danniya-ng yana aiki da damuwar ƙwaƙwalwar ajiya ta 4 (VMS) waɗanda suka haɗu don amfani da 40% na wadataccen ƙwaƙwalwar ajiya na mintina 10. Don haka kowane danniya yana amfani da 10% na ƙwaƙwalwar da ke akwai.

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

La'akari da fitarwa na umarnin lokaci-lokaci a sama, an dakatar da ayyukan ma'aikacin danniya bayan ng sakan 1.16 kawai. Wannan saboda yawan amfani da ƙwaƙwalwar ajiyar VMS (438660 kilobytes) ya fi amfani da ƙwaƙwalwar ajiya mai amfani don ƙwaƙwalwar ajiya da matakan ɗanta.

Don ba da damar iyakance lokacin aiki, yi amfani da tuta -t kamar yadda aka nuna.

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

A cikin misalin da ke sama, lokacin da damuwa-ng CPU + SYS lokaci ya wuce ƙimar da aka ƙayyade na 4, ana kashe matakan ma'aikaci.

Hakanan zaka iya iyakance ƙwaƙwalwar ajiya da lokaci gaba ɗaya kamar haka.

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

Hakanan lokaci-lokaci yana tallafawa wasu zaɓuɓɓuka masu ci gaba kamar --Detect-hangups , wanda ke ba da damar hango hangup.

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

Kuna iya saka idanu RSS (girman saitin mazauni) ƙimar ƙwaƙwalwar ajiya ta amfani da --memlimit-rss ko -s sauya.

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

Bugu da kari, don dawo da lambar fita ko sigina + 128 na aiki, yi amfani da --confess ko -c kamar yadda aka nuna.

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

Don ƙarin bayani da misalin amfani, duba ajiyar lokacin Github: https://github.com/pshved/timeout.

Hakanan kuna iya samun waɗannan labaran masu alaƙa da amfani iri ɗaya:

  1. Yadda Ake Neman Manyan Ayyuka 15 Ta Hanyar Amfani da orywaƙwalwar ajiya tare da 'saman' a Yanayin Batsa
  2. CPUTool - Limayyadewa da Sarrafa CPU Amfani da Duk wani Tsari a cikin Linux
  3. Yadda Ake Iyakantar CPU Amfani da Aiki a cikin Linux tare da Kayan aiki na CPULimit

Rubutun lokaci-lokaci shiri ne mai sauƙin lura da kayan aiki wanda da gaske yake ƙuntata lokaci da ƙwaƙwalwar ajiya na aiwatarwa a cikin Linux. Kuna iya ba mu ra'ayi game da rubutun lokaci-lokaci ta hanyar hanyar sharhi da ke ƙasa.