Memory စားသုံးမှုသည်ကြီးမားသောအချက်အလက်များနှင့်ဆက်ဆံရာတွင်တည်ဆောက်သည့်အခါ developer များကြုံတွေ့ရသောပြ problems နာများထဲမှတစ်ခုဖြစ်သည်။ အကယ်. ပရိုဂရမ်သည်မှတ်ဥာဏ်များစွာကိုအသုံးပြုပါကဆာဗာသည်လေယာဉ်ပျက်ကျခြင်းသို့မဟုတ်စွမ်းဆောင်ရည်ပျက်ပြားစေနိုင်သည်။ ထို့ကြောင့် PHP အစီအစဉ်များကိုအချိန်မှန်တွင်မှတ်ဉာဏ်အသုံးပြုမှုကိုစောင့်ကြည့်ရန်အလွန်အရေးကြီးသည်။ Memory_Get_get_usage () function သည်လက်ရှိ script မှအသုံးပြုသောမှတ်ဉာဏ်ရရှိရန်ရိုးရှင်းသောနှင့်ထိရောက်သောနည်းလမ်းကိုပေးသည်။
Memory_Get_En_usage () သည် PHP တွင်ပါ 0 င်သော PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ပြန်လာတန်ဖိုးမှာလက်ရှိ script မှခွဲဝေထားသောမှတ်ဉာဏ်ပမာဏကိုညွှန်ပြသည့် Bytes အရေအတွက်ဖြစ်သည်။ မှတ်ဥာဏ်သုံးစွဲမှုသည်မျှော်လင့်ချက်များထက်မကျော်လွန်စေရန်သေချာစေရန်ဤတန်ဖိုးကိုအပေါ် အခြေခံ. ဤတန်ဖိုးကိုအပေါ် အခြေခံ. ပရိုဂရမ်၏မှတ်ဉာဏ်အသုံးပြုမှုကိုသင်စောင့်ကြည့်နိုင်သည်။
<span><span><span class="hljs-variable">$memoryUsage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှု: "</span></span><span> . </span><span><span class="hljs-variable">$memoryUsage</span></span><span> . </span><span><span class="hljs-string">" ဒရယ်"</span></span><span>;
</span></span>
ကြီးမားသောဒေတာများကိုပြုပြင်သည့်အခါအထူးသဖြင့်ကျွန်ုပ်တို့သည်အထူးသဖြင့်ကျွန်ုပ်တို့သည်စစ်ဆင်ရေးများကိုပြုလုပ်သောစစ်ဆင်ရေးများပြုလုပ်သောအခါ (ဒေတာ Queries) သည် (ဥပမာဒေတာ) များ, ဖိုင်ဖတ်ခြင်း, Memory အသုံးပြုမှုအတက်အကျများကိုလေ့လာရန်ကျွန်ုပ်တို့သည် မှတ်ဥာဏ် ဖြင့်ပေါင်းစပ်ခြင်း, သတင်းအချက်အလက်သို့မဟုတ်အချိန်ကိုက်ခြင်းများကိုပေါင်းစပ်ခြင်း,
<span><span><span class="hljs-comment">// ကန ဦး မှတ်ဉာဏ်အသုံးပြုမှုကိုပုံနှိပ်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ကန ဦး မှတ်ဉာဏ်အသုံးပြုမှု: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>() . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;
</span><span><span class="hljs-comment">// ကြီးမားသောဒေတာစစ်ဆင်ရေးကိုတုပ:ဒေတာအမြောက်အများကိုထုတ်လုပ်သည်</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = [];
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> < </span><span><span class="hljs-number">100000</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span>++) {
</span><span><span class="hljs-variable">$data</span></span><span>[] = </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">'a'</span></span><span>, </span><span><span class="hljs-number">1024</span></span><span>); </span><span><span class="hljs-comment">// တစ်ခုချင်းစီကို string ကိုထေို 1024 ဒရယ်</span></span><span>
}
</span><span><span class="hljs-comment">// ဒေတာစစ်ဆင်ရေးပုံနှိပ်ပြီးနောက်မှတ်ဉာဏ်အသုံးပြုမှု</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အချက်အလက်များကိုထုတ်ယူပြီးနောက်မှတ်ဉာဏ်အသုံးပြုမှု: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>() . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;
</span><span><span class="hljs-comment">// အခြားမှတ်ဉာဏ်စစ်ဆင်ရေးများကိုတုပပါ</span></span><span>
</span><span><span class="hljs-keyword">unset</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>); </span><span><span class="hljs-comment">// ရှင်းလင်းသောဒေတာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ရှင်းလင်းသောဒေတာ后的内存使用: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>() . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;
</span></span>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်မှတ်ဥာဏ်အသုံးပြုမှုကိုမတူညီသောလည်ပတ်မှု node များပေါ်တွင်ပုံနှိပ်ထုတ်ဝေသည်။ ဤနည်းအားဖြင့် Memory Consultion 6 သည်ကွပ်မျက်စဉ်အတွင်း Memory စားသုံးမှုပြောင်းလဲမှုများကိုမည်သို့သတိပြုမိနိုင်သည်။
မလိုအပ်သောအချက်အလက်သိုလှောင်မှုကိုလျှော့ချပါ အချက်အလက်အမြောက်အများကိုပြုပြင်ရန်အတွက်မလိုအပ်သောအချက်အလက်များကိုမှတ်ဉာဏ်တွင်မသိမ်းဆည်းပါနှင့်။ ဒေတာများကိုတစ်ပြိုင်နက်တည်းတင်ရန်ရှောင်ရှားရန်အသုတ်တွင်ဒေတာများကို 0 င်ရန်ဒေတာဘေ့စ်စုံစမ်းမှုများနှင့် paging processing ကိုအသုံးပြုပါ။
Memory Mapp ဖိုင်များကို အသုံးပြု . <br> ဖိုင်ကြီးများအတွက် fopen () နှင့် အရူးအာက် () နှင့် free) နှင့် ဖိုင်တစ်ခုလုံးကိုတစ်ပြိုင်နက်တည်းဖွင့်လှစ်ခြင်းမှရှောင်ရှားရန် line-line စာဖတ်ခြင်း () ဖိုင်တွဲများအတွက် function များကိုသုံးပါ။
ပုံမှန် variable တွေကိုမှန်မှန်သန့်ရှင်းရေး မလိုအပ်တော့သည့် variable များကိုရှင်းလင်းရန် unset () ကို သုံးပါ။
Memory Limit Configurationation <br> <br> Memory က န့်သတ်ချက်များ ('memory_limit', 'Memory_LIMIT', '256 မီတာ' , ပရိုဂရမ်စဉ်အတွင်းမှတ်ဥာဏ်လျှံကိုရှောင်ရှားရန် Memory ကန့်သတ်ချက်ကိုအချိန်တိုအတွင်းတွင်မှတ်ဉာဏ်ကန့်သတ်ချက်များကိုချိန်ညှိနိုင်သည်။
Memory-optimized data struck များကိုအသုံးပြုခြင်း သင့်လျော်သောမှတ်ဉာဏ် optimization algorithms နှင့် data structures (ဥပမာအားဖြင့်သာမန် arrays အစား splfixedarray သုံးခြင်း) ကို အသုံးပြု. Memory စားသုံးမှုကိုထိရောက်စွာလျှော့ချနိုင်သည်။
PHP သည်အမှိုက်သရိုက်စုဆောင်းမှုယန္တရား (GC) ကို အသုံးပြု. မရှိတော့ပါ။ သို့သော်, အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါအမှိုက်များစုဆောင်းခြင်းသည်အသုံးမပြုရသေးသောမှတ်ဉာဏ်အားလုံးကိုချက်ချင်းမသန့်ရှင်းစေနိုင်ပါ။ ဤအချိန်တွင်အမှိုက်သရိုက်စုဆောင်းမှုကိုကိုယ်တိုင်ကိုယ်ကျနှင့် memory_get_usage () ကို memory_get_usage () ကိုအစပျိုးနိုင်သည်။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"မှတ်ဉာဏ်အသုံးပြုမှုမပြုမီ: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>() . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;
</span><span><span class="hljs-comment">// ကြီးမားသောမှတ်ဉာဏ်သုံးစွဲမှုစစ်ဆင်ရေးကိုတုပ</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">'a'</span></span><span>, </span><span><span class="hljs-number">1024</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span> * </span><span><span class="hljs-number">50</span></span><span>); </span><span><span class="hljs-comment">// 50MB အချက်များ</span></span><span>
</span><span><span class="hljs-comment">// ကိုယ်တိုင်အမှိုက်သရိုက်စုဆောင်းခြင်း</span></span><span>
</span><span><span class="hljs-title function_ invoke__">gc_collect_cycles</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"မှတ်ဉာဏ်အသုံးပြုမှုပြီးနောက်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>() . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;
</span></span>
Memory_Get_get_usage () function ကိုအသုံးပြုခြင်းဖြင့် PHP scripts ၏မှတ်ဉာဏ်သုံးစွဲမှုကိုအချိန်မှန်ပေးပြီး, ထို့အပြင်အခြားမှတ်ဉာဏ် optimization နည်းစနစ်များနှင့်ပေါင်းစပ်ပြီးမှတ်ဉာဏ်ပြည့်လျှံခြင်းနှင့်စွမ်းဆောင်ရည်ပျက်ပြားသွားခြင်းကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်မှတ်ဉာဏ်အရင်းအမြစ်များကိုထိရောက်စွာစီမံနိုင်သည်။