Jinsi ya Kupunguza Muda na Matumizi ya Kumbukumbu ya Taratibu katika Linux


Hati ya muda ulioisha ni programu muhimu ya ufuatiliaji wa rasilimali kwa kupunguza muda na matumizi ya kumbukumbu ya michakato katika Linux. Inakuwezesha kuendesha programu chini ya udhibiti, na kutekeleza mipaka ya muda na kumbukumbu, kusitisha programu juu ya ukiukaji wa vigezo hivi.

Hakuna usakinishaji unaohitajika, toa tu amri pamoja na hoja zake kwa kutumia programu ya kuisha na itafuatilia kumbukumbu ya amri na utumiaji wa wakati, ikisumbua mchakato ikiwa itatoka nje ya mipaka, na kukuarifu kwa ujumbe ulioainishwa.

Ili kuendesha hati hii, lazima uwe na Perl 5 iliyosakinishwa kwenye mfumo wako wa Linux na mfumo wa faili wa /proc umewekwa.

Ili kuangalia toleo lililosakinishwa la Perl kwenye mfumo wako wa Linux, endesha amri ifuatayo.

$ perl -v

Ifuatayo, linganisha hazina ya muda wa kuisha kwa mfumo wako kwa kutumia amri ya kawaida ya Linux.

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

Wacha sasa tuangalie jinsi hati ya kuisha inavyofanya kazi.

Mfano huu wa kwanza unaonyesha jinsi ya kuweka kikomo matumizi ya kumbukumbu ya mchakato hadi 100M ya kumbukumbu pepe, kwa kutumia alama ya -m. Kitengo chaguo-msingi cha kumbukumbu kiko katika kilobaiti.

Hapa, amri ya stress-ng huendesha vifadhaiko 4 vya kumbukumbu (VMS) ambavyo huchanganyika kutumia 40% ya kumbukumbu inayopatikana kwa dakika 10. Kwa hivyo kila mkazo hutumia 10% ya kumbukumbu inayopatikana.

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

Kwa kuzingatia matokeo ya amri ya kuisha kwa muda hapo juu, michakato ya mfadhaiko ilikatishwa baada ya sekunde 1.16 tu. Hii ni kwa sababu matumizi ya kumbukumbu ya pamoja ya VMS (kilobaiti 438660) ni kubwa kuliko utumiaji wa kumbukumbu pepe unaoruhusiwa kwa stress-ng na michakato yake ya mtoto.

Ili kuwezesha uzuiaji wa muda wa mchakato, tumia alama ya -t kama inavyoonyeshwa.

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

Katika mfano hapo juu, wakati wakati wa stress-ng CPU+SYS unazidi thamani iliyofafanuliwa ya 4, michakato ya mfanyakazi huuawa.

Unaweza pia kupunguza kumbukumbu na wakati mara moja kama ifuatavyo.

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

Timeout pia inasaidia baadhi ya chaguo za kina kama vile --detect-hangups, ambayo huwezesha ugunduzi wa hangup.

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

Unaweza kufuatilia kikomo cha kumbukumbu cha RSS (saizi iliyowekwa mkazi) kwa kutumia swichi ya --memlimit-rss au -s.

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

Zaidi ya hayo, ili kurejesha msimbo wa kuondoka au ishara+128 ya mchakato, tumia chaguo la --kiri au -c kama inavyoonyeshwa.

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

Kwa habari zaidi na mfano wa utumiaji, angalia hazina ya Github iliyoisha: https://github.com/pshved/timeout.

Unaweza pia kupata makala haya yafuatayo yanayohusiana yanafaa vile vile:

  1. Jinsi ya Kupata Michakato 15 Bora kwa Matumizi ya Kumbukumbu na ‘juu’ katika Hali ya Kundi
  2. CPUTool - Weka Kikomo na Udhibiti Utumiaji wa CPU wa Mchakato Wowote katika Linux
  3. Jinsi ya Kupunguza Matumizi ya CPU ya Mchakato katika Linux ukitumia Zana ya CPULimit

Hati ya muda ulioisha ni programu rahisi ya ufuatiliaji wa rasilimali ambayo kimsingi huzuia matumizi ya wakati na kumbukumbu ya michakato katika Linux. Unaweza kutupa maoni kuhusu hati ya muda kuisha kupitia fomu ya maoni hapa chini.