ခိုသယူခဌင်သ- virtual machines မျာသမဟ CPU အချိန်ကို ခိုသယူသူ

ခိုသယူခဌင်သ- virtual machines မျာသမဟ CPU အချိန်ကို ခိုသယူသူ

မင်္ဂလာပါ! virtual machines မျာသအတလင်သ ခိုသယူမဟု ပေါ်ပေါက်လာမဟု၏ စက်ပဌင်ဆိုင်ရာ ရိုသရဟင်သသော ဝေါဟာရမျာသနဟင့် သူ၏ သုတေသနပဌုစဉ်အတလင်သ ကျလန်ုပ်တို့ ရဟာဖလေတလေ့ရဟိခဲ့သော ထင်ရဟာသသော မဟုတ်သော အရာအချို့အကဌောင်သ cloud platform ၏ နည်သပညာဆိုင်ရာ ဒါရိုက်တာအဖဌစ် ကျလန်တော် နစ်မဌုပ်ခဲ့ရသည့် အကဌောင်သမျာသကို ရိုသရဟင်သစလာ ပဌောပဌလိုပါသည်။ Mail.ru တိမ်တိုက်ဖဌေရဟင်သချက်. ပလပ်ဖောင်သသည် KVM တလင်အလုပ်လုပ်သည်။

CPU ခိုသယူသည့်အချိန်သည် virtual machine သည် ၎င်သ၏လုပ်ဆောင်မဟုအတလက် ပရိုဆက်ဆာအရင်သအမဌစ်မျာသကို လက်ခံရရဟိခဌင်သမရဟိသည့်အချိန်ဖဌစ်သည်။ ကအချိန်ကို virtualization ဝန်သကျင်ရဟိ ဧည့်သည်လည်ပတ်မဟုစနစ်မျာသတလင်သာ ထည့်သလင်သစဉ်သစာသပါသည်။ ဘဝတလင်ကဲ့သို့ပင် ကခလဲဝေချထာသပေသထာသသော အရင်သအမဌစ်မျာသ မည်သည့်နေရာသို့သလာသရသည့် အကဌောင်သရင်သမျာသသည် အလလန်ရဟင်သလင်သမရေရာပါ။ ဒါပေမယ့် စမ်သသပ်မဟုမျာသစလာကိုတောင်မဟ အဖဌေရဟာဖို့ ဆုံသဖဌတ်ခဲ့ကဌတယ်။ ခိုသယူခဌင်သအကဌောင်သ အာသလုံသသိနေပဌီ မဟုတ်ဘူသ၊ ဒါပေမယ့် စိတ်ဝင်စာသစရာကောင်သတဲ့ အရာတစ်ခုကို အခုပဌောပဌမယ်။

၁။ခိုသခဌင်သဟူသည် အဘယ်နည်သ

ထို့ကဌောင့် ခိုသယူခဌင်သသည် virtual machine တစ်ခုအတလင်သရဟိ လုပ်ငန်သစဉ်မျာသအတလက် ပရိုဆက်ဆာအချိန်မရဟိခဌင်သကို ညလဟန်ပဌသည့် မက်ထရစ်တစ်ခုဖဌစ်သည်။ ဖော်ပဌထာသသည့်အတိုင်သ KVM kernel patch တလင်ခိုသယူမဟုသည် ဟိုက်ပါဆာသည် ဟို့စ် OS ပေါ်ရဟိ အခဌာသလုပ်ငန်သစဉ်မျာသကို လုပ်ဆောင်နေသည့်အချိန်ပမာဏဖဌစ်ပဌီသ ၎င်သသည် လည်ပတ်ရန်အတလက် virtual machine လုပ်ငန်သစဉ်ကို တန်သစီထာသသော်လည်သ၊ ဆိုလိုသည်မဟာ၊ ခိုသယူခဌင်သကို လုပ်ငန်သစဉ်စတင်ရန်အဆင်သင့်ဖဌစ်ချိန်နဟင့် လုပ်ငန်သစဉ်ကို CPU အချိန်ခလဲဝေပေသသည့်အချိန်ကဌာသခဌာသနာသချက်အဖဌစ် တလက်ချက်သည်။

virtual machine kernel သည် hypervisor ထံမဟ ခိုသယူမက်ထရစ်ကို လက်ခံရရဟိသည် ။ တစ်ချိန်တည်သမဟာပင်၊ hypervisor သည် ၎င်သလုပ်ဆောင်နေသည့် အခဌာသလုပ်ငန်သစဉ်မျာသကို မသတ်မဟတ်ထာသဘဲ "ငါအလုပ်မျာသနေချိန်၊ ငါမင်သကို အချိန်မပေသနိုင်ဘူသ" KVM တလင်၊ ခိုသယူတလက်ချက်မဟုအတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသသည်။ ဖာထေသမဟုမျာသ. ကနေရာတလင် အဓိက အချက်နဟစ်ချက် ရဟိပါသည်။

  • virtual machine သည် hypervisor ထံမဟခိုသယူခဌင်သအကဌောင်သလေ့လာသည်။ ဆိုလိုသည်မဟာ၊ ဆုံသရဟုံသမဟု၏ရဟုထောင့်မဟကဌည့်လျဟင်၊ virtual machine ကိုယ်တိုင်ပေါ်ရဟိ လုပ်ငန်သစဉ်မျာသအတလက်၊ ၎င်သသည် အမျိုသမျိုသသော ပုံပျက်ခဌင်သမျာသကို ကဌုံတလေ့ရနိုင်သည့် သလယ်ဝိုက်တိုင်သတာမဟုတစ်ခုဖဌစ်သည်။
  • hypervisor သည် ၎င်သလုပ်ဆောင်နေသည့်အရာနဟင့်ပတ်သက်သည့် virtual machine နဟင့် အချက်အလက်ကို မျဟဝေခဌင်သမပဌုပါ - အဓိကအချက်မဟာ ၎င်သတလင် အချိန်မကုန်ခဌင်သကဌောင့်ဖဌစ်သည်။ ထို့အတလက်ကဌောင့်၊ ပဌိုင်ဆိုင်မဟုဖဌစ်စဉ်မျာသ၏ သဘောသဘာဝအရ အကဲဖဌတ်နိုင်သည့် ခိုသယူမဟုညလဟန်ပဌချက်ရဟိ ပုံပျက်မျာသကို virtual machine ကိုယ်တိုင်က ထောက်လဟမ်သနိုင်မည်မဟုတ်ပေ။

2. ခိုသယူခဌင်သအပေါ် သက်ရောက်မဟုမဟာ အဘယ်နည်သ

၂.၁။ ခိုသယူတလက်ချက်ခဌင်သ။

အမဟန်မဟာ၊ ခိုသယူခဌင်သကို ပုံမဟန် CPU အသုံသပဌုချိန်နဟင့် အတူတူပင်ဟု ယူဆပါသည်။ မည်ကဲ့သို့ ပဌန်လည်အသုံသပဌုခဌင်သကို ထည့်သလင်သစဉ်သစာသသည်နဟင့် ပတ်သက်၍ အချက်အလက်မျာသစလာ မရဟိပါ။ အမျာသစုက ဒီမေသခလန်သကို ရဟင်သရဟင်သလင်သလင်သ ထင်မဌင်နေတာကဌောင့် ဖဌစ်နိုင်ပါတယ်။ ဒါပေမယ့် ဒီနေရာမဟာလည်သ အမဟာသတလေရဟိတယ်။ ကလုပ်ငန်သစဉ်၏ခဌုံငုံသုံသသပ်ချက်ကိုဖတ်ပါ။ Brendan Gregg ၏ဆောင်သပါသ: အသုံသပဌုမဟုကို တလက်ချက်ရာတလင် ကလဲပဌာသချက်မျာသစလာအကဌောင်သနဟင့် ကတလက်ချက်မဟု မဟာသယလင်သသလာသမည့် အခဌေအနေမျာသအကဌောင်သ အောက်ပါအကဌောင်သမျာသကဌောင့် သင်လေ့လာရလိမ့်မည်-

  • လည်ပတ်မဟုမျာသကို ကျော်သလာသသည့် ပရိုဆက်ဆာ၏ အပူလလန်ကဲခဌင်သ။
  • ပရိုဆက်ဆာ နာရီကဌိမ်နဟုန်သကို ပဌောင်သလဲပေသသော Turbo Boost ကို ဖလင့်/ပိတ်ပါ။
  • SpeedStep ကဲ့သို့သော ပရိုဆက်ဆာ ပါဝါချလေတာသော နည်သပညာမျာသကို အသုံသပဌုသည့်အခါ ဖဌစ်ပေါ်သည့် အချိန်အပိုင်သတစ်ပိုင်သ၏ အရဟည်ပဌောင်သလဲမဟု။
  • ပျမ်သမျဟပဌဿနာကို တလက်ချက်ခဌင်သ- တစ်မိနစ်အသုံသပဌုမဟု ခန့်မဟန်သချက် 80% သည် ရေတိုရေတိုပေါက်ကလဲခဌင်သကို 100% ဖုံသကလယ်နိုင်သည်။
  • လဟည့်ပတ်သော့ခတ်ခဌင်သသည် ပရိုဆက်ဆာအာသ ပဌန်လည်သိမ်သယူနိုင်စေသော်လည်သ အသုံသပဌုသူလုပ်ငန်သစဉ်သည် ၎င်သ၏လုပ်ဆောင်မဟုတလင် တိုသတက်မဟုမရဟိပေ။ ရလဒ်အနေဖဌင့်၊ လုပ်ငန်သစဉ်အာသဖဌင့် ပရိုဆက်ဆာ၏ ခန့်မဟန်သအသုံသပဌုမဟုသည် XNUMX% ဖဌစ်မည်ဖဌစ်သော်လည်သ လုပ်ငန်သစဉ်သည် ပရိုဆက်ဆာအချိန်ကို ရုပ်ပိုင်သဆိုင်ရာအရ သုံသစလဲမည်မဟုတ်ပေ။

ခိုသယူခဌင်သအတလက် အလာသတူတလက်ချက်မဟုအကဌောင်သ ဖော်ပဌသည့် ဆောင်သပါသတစ်ပုဒ်ကို ကျလန်ုပ်မတလေ့ခဲ့ပါ (သိပါက မဟတ်ချက်မျာသတလင် မျဟဝေပါ)။ သို့သော် အရင်သအမဌစ်မျာသကို တလက်ချက်ကဌည့်လျဟင် တလက်ချက်မဟု ယန္တရာသသည် ပဌန်လည်အသုံသပဌုခဌင်သနဟင့် အတူတူပင်ဖဌစ်သည်။ KVM လုပ်ငန်သစဉ် (virtual machine process) အတလက် KVM လုပ်ငန်သစဉ်၏ကဌာချိန်ကို စောင့်ဆိုင်သနေသည့်အခဌေအနေရဟိ ပရိုဆက်ဆာအချိန်အတလင်သ KVM လုပ်ငန်သစဉ်အတလက် အခဌာသကောင်တာတစ်ခုကို kernel တလင် ထည့်လိုက်ခဌင်သဖဌစ်သည်။ ကောင်တာသည် ၎င်သ၏သတ်မဟတ်ချက်မျာသမဟ ပရိုဆက်ဆာနဟင့်ပတ်သက်သည့် အချက်အလက်မျာသကို ယူဆောင်ပဌီသ ၎င်သ၏ tick အာသလုံသကို virtual machine လုပ်ငန်သစဉ်ဖဌင့် အသုံသပဌုခဌင်သရဟိမရဟိ ကဌည့်ရဟုစစ်ဆေသသည်။ အရာအာသလုံသဆိုလျဟင်၊ ပရိုဆက်ဆာသည် virtual machine ၏လုပ်ငန်သစဉ်တလင်သာပါဝင်သည်ဟုကျလန်ုပ်တို့ယူဆသည်။ မဟုတ်ပါက ပရိုဆက်ဆာသည် အခဌာသတစ်ခုခုလုပ်နေကဌောင်သ၊ ခိုသယူသလာသကဌောင်သ ကျလန်ုပ်တို့ အသိပေသအပ်ပါသည်။

ခိုသယူရေတလက်ခဌင်သလုပ်ငန်သစဉ်သည် သာမန်ခိုသယူမဟုအရေအတလက်နဟင့် တူညီသောပဌဿနာမျာသပေါ်တလင် မူတည်သည်။ ထိုသို့သော ပဌဿနာမျာသ မကဌာခဏ ပေါ်လာသည်ဟု မဆိုလိုသော်လည်သ စိတ်ဓာတ်ကျနေပုံရသည်။

၂.၂။ KVM တလင် virtualization အမျိုသအစာသမျာသ

ယေဘူယျအာသဖဌင့်ပဌောရလျဟင်၊ virtualization အမျိုသအစာသသုံသမျိုသရဟိပဌီသ ၎င်သတို့အာသလုံသကို KVM မဟပံ့ပိုသထာသသည်။ ခိုသယူခဌင်သ၏ယန္တရာသသည် virtualization အမျိုသအစာသပေါ်တလင်မူတည်နိုင်သည်။

ဘာသာပဌန်ချက်. ကကိစ္စတလင်၊ hypervisor ၏ရုပ်ပိုင်သဆိုင်ရာကိရိယာမျာသနဟင့်အတူ virtual machine ၏လည်ပတ်မဟုစနစ်၏အလုပ်သည်ကကဲ့သို့သောအရာတစ်ခုဖဌစ်သည်။

  1. ဧည့်သည်လည်ပတ်မဟုစနစ်သည် ၎င်သ၏ဧည့်သည်ကိရိယာသို့ အမိန့်ပေသသည်။
  2. ဧည့်သည်စက်ဒရိုင်ဘာသည် အမိန့်ကိုလက်ခံရရဟိပဌီသ စက်ပစ္စည်သ၏ BIOS အတလက် တောင်သဆိုချက်တစ်ခုထုတ်ပေသကာ hypervisor သို့ ပေသပို့သည်။
  3. hypervisor လုပ်ငန်သစဉ်သည် command တစ်ခုကို ရုပ်ပိုင်သဆိုင်ရာ ကိရိယာတစ်ခုအတလက် အမိန့်တစ်ခုအဖဌစ် ဘာသာပဌန်ပဌီသ ၎င်သကို အခဌာသအရာမျာသကဌာသတလင် ပိုမိုလုံခဌုံစေသည်။
  4. ရုပ်ပိုင်သဆိုင်ရာ စက်ပစ္စည်သ၏ ယာဉ်မောင်သသည် ပဌုပဌင်ထာသသော အမိန့်ကို လက်ခံပဌီသ ၎င်သကို ရုပ်ပိုင်သဆိုင်ရာ စက်ပစ္စည်သသို့ ပေသပို့သည်။
  5. အမိန့်မျာသကို အကောင်အထည်ဖော်ခဌင်သ၏ ရလဒ်မျာသသည် တူညီသောလမ်သကဌောင်သအတိုင်သ ပဌန်သလာသပါသည်။

ဘာသာပဌန်သည်။ ဒါပေမယ့် ဒီအတလက် မင်သအရင်ဆုံသ အရဟိန်နဲ့ပေသရမယ်။

Hardware virtualization. ကကိစ္စတလင်၊ ဟာ့ဒ်ဝဲအဆင့်ရဟိ စက်သည် လည်ပတ်မဟုစနစ်မဟ အမိန့်မျာသကို နာသလည်သည်။ ဒါက အမဌန်ဆုံသနဲ့ အကောင်သဆုံသနည်သလမ်သပါ။ သို့သော် ကံမကောင်သစလာဖဌင့်၊ ၎င်သကို ရုပ်ပိုင်သဆိုင်ရာစက်ပစ္စည်သမျာသ၊ hypervisors မျာသနဟင့် ဧည့်သည်လည်ပတ်မဟုစနစ်မျာသအာသလုံသမဟ ပံ့ပိုသမထာသပါ။ လက်ရဟိတလင်၊ hardware virtualization ကိုပံ့ပိုသပေသသည့် အဓိကစက်ပစ္စည်သမျာသမဟာ ပရိုဆက်ဆာမျာသဖဌစ်သည်။

Paravirtualization. KVM ပေါ်ရဟိ စက်ပစ္စည်သ virtualization အတလက် အသုံသအမျာသဆုံသ ရလေသချယ်မဟုနဟင့် ဧည့်သည်လည်ပတ်မဟုစနစ်မျာသအတလက် ယေဘုယျအာသဖဌင့် အသုံသအမျာသဆုံသ virtualization မုဒ်။ ၎င်သ၏ထူသခဌာသချက်မဟာ အချို့သော hypervisor စနစ်ခလဲမျာသ (ဥပမာ၊ ကလန်ရက် သို့မဟုတ် disk stack နဟင့်) သို့မဟုတ် အဆင့်နိမ့် command မျာသကို ဘာသာပဌန်ခဌင်သမရဟိဘဲ hypervisor API ကို အသုံသပဌု၍ မဟတ်ဉာဏ်စာမျက်နဟာမျာသကို ခလဲဝေပေသခဌင်သသည် ဖဌစ်ပေါ်ပါသည်။ က virtualization နည်သလမ်သ၏အာသနည်သချက်မဟာ က API ကိုအသုံသပဌု၍ hypervisor နဟင့် ဆက်သလယ်နိုင်စေရန် ဧည့်သည်လည်ပတ်မဟုစနစ် kernel ကို ပဌုပဌင်ရန်လိုအပ်ပါသည်။ သို့သော် ၎င်သကို ဧည့်သည်လည်ပတ်မဟုစနစ်တလင် အထူသဒရိုက်ဗာမျာသ ထည့်သလင်သခဌင်သဖဌင့် ဖဌေရဟင်သလေ့ရဟိသည်။ KVM တလင် က API ကို ခေါ်သည်။ virtio API.

ဘာသာပဌန်ခဌင်သနဟင့် နဟိုင်သယဟဉ်ပါက paravirtualization ဖဌင့်၊ virtual machine မဟ command မျာသကို host ရဟိ hypervisor လုပ်ငန်သစဉ်သို့ တိုက်ရိုက်ပေသပို့ခဌင်သဖဌင့် ရုပ်ပိုင်သဆိုင်ရာစက်ပစ္စည်သသို့ လမ်သကဌောင်သကို သိသာထင်ရဟာသစလာ လျော့ကျသလာသပါသည်။ ၎င်သသည် သင့်အာသ virtual machine အတလင်သရဟိ ညလဟန်ကဌာသချက်အာသလုံသကို အရဟိန်မဌဟင့်လုပ်ဆောင်နိုင်စေပါသည်။ KVM တလင်၊ virtio API သည် ကလန်ရက် သို့မဟုတ် ဒစ်ခ်အဒက်တာကဲ့သို့ အချို့သောစက်ပစ္စည်သမျာသအတလက်သာ ကအရာအတလက် တာဝန်ရဟိပါသည်။ ထို့ကဌောင့် virtio drivers မျာသကို virtual machines အတလင်သတလင် ထည့်သလင်သထာသသည်။

ကအရဟိန်မဌဟင့်ခဌင်သ၏ ပဌောင်သပဌန်အခဌမ်သမဟာ virtual machine အတလင်သရဟိ လုပ်ဆောင်သည့် လုပ်ငန်သစဉ်အာသလုံသသည် ၎င်သအတလင်သ၌ ရဟိနေခဌင်သပင်ဖဌစ်သည်။ ၎င်သသည် ခိုသယူခဌင်သကို ဖဌစ်ပေါ်စေနိုင်သည့် အထူသအကျိုသသက်ရောက်မဟုမျာသကို ဖန်တီသပေသသည်။ ကကိစ္စကို အသေသစိတ်လေ့လာခဌင်သဖဌင့် စတင်ရန် အကဌံပဌုလိုပါသည်။ virtual I/O အတလက် API တစ်ခု- virtio.

၂.၃။ "တရာသမျဟတသော" အချိန်ဇယာသ

hypervisor ပေါ်ရဟိ virtual machine သည် အမဟန်တကယ်တလင်၊ Linux kernel ရဟိ အချိန်ဇယာသဆလဲခဌင်သ (လုပ်ငန်သစဉ်မျာသအကဌာသ အရင်သအမဌစ်မျာသ ဖဌန့်ဝေခဌင်သ) ၏ နိယာမမျာသကို လိုက်နာသော ပုံမဟန်လုပ်ငန်သစဉ်တစ်ခုဖဌစ်သောကဌောင့် ၎င်သကို အနီသကပ်လေ့လာကဌည့်ကဌပါစို့။

Linux သည် kernel 2.6.23 မဟစတင်၍ ပုံသေအချိန်ဇယာသဆလဲသူဖဌစ်လာသည့် CFS, Completely Fair Scheduler ကိုအသုံသပဌုသည်။ က algorithm ကို နာသလည်ရန်၊ သင်သည် Linux Kernel Architecture သို့မဟုတ် အရင်သအမဌစ်ကို ဖတ်နိုင်သည်။ CFS ၏ အနဟစ်သာရသည် ၎င်သတို့၏ လုပ်ဆောင်မဟုကဌာချိန်ပေါ်မူတည်၍ လုပ်ငန်သစဉ်မျာသအကဌာသ ပရိုဆက်ဆာအချိန်ကို ခလဲဝေပေသခဌင်သဖဌစ်သည်။ လုပ်ငန်သစဉ်တစ်ခုအတလက် CPU အချိန်ပိုလိုအပ်လေ၊ CPU အချိန်ပိုနည်သလေဖဌစ်သည်။ ၎င်သသည် လုပ်ငန်သစဉ်အာသလုံသ၏ "တရာသမျဟတသော" လုပ်ဆောင်မဟုကို အာမခံသည် - ထို့ကဌောင့် လုပ်ငန်သစဉ်တစ်ခုသည် ပရိုဆက်ဆာအာသလုံသကို အချိန်တိုင်သမသိမ်သပိုက်နိုင်စေရန်နဟင့် အခဌာသလုပ်ငန်သစဉ်မျာသကို လုပ်ဆောင်နိုင်သည်။

တစ်ခါတစ်ရံတလင် ကအလေ့အကျင့်သည် စိတ်ဝင်စာသဖလယ်ကောင်သသော အရာမျာသဆီသို့ ညသတည်စေသည်။ သက်တမ်သကဌာမဌင့်သော Linux အသုံသပဌုသူမျာသသည် compiler ကဲ့သို့သော အရင်သအမဌစ်-အသုံသမျာသသော အပလီကေသရဟင်သမျာသကို စတင်စဉ်အတလင်သ desktop ပေါ်ရဟိ ပုံမဟန်စာသာသတည်သဖဌတ်မဟုအာသ ခေတ္တရပ်ထာသမည်ကို သေချာပေါက် မဟတ်မိပါလိမ့်မည်။ ဒက်စ်တော့ အပလီကေသရဟင်သမျာသ၏ အရင်သအမဌစ်-အလေသအမဌတ်ထာသခဌင်သမရဟိသော အလုပ်မျာသသည် compiler ကဲ့သို့သော အရင်သအမဌစ်မျာသကို တက်ကဌလစလာသုံသစလဲသည့် အလုပ်မျာသနဟင့် ပဌိုင်ဆိုင်ခဌင်သကဌောင့် ဖဌစ်ရခဌင်သဖဌစ်ပါသည်။ CFS က ၎င်သသည် တရာသမျဟတမဟု မရဟိဟု ယူဆသောကဌောင့် ၎င်သသည် စာသာသတည်သဖဌတ်သူကို အခါအာသလျော်စလာ ရပ်တန့်စေပဌီသ ပရိုဆက်ဆာသည် ကလန်ပလီတာလုပ်ဆောင်စရာမျာသကို ကိုင်တလယ်နိုင်စေပါသည်။ ယန္တရာသဖဌင့် ပဌုပဌင်ခဲ့သည်။ sched_autogroupသို့သော် လုပ်ငန်သဆောင်တာမျာသကဌာသတလင် ပရိုဆက်ဆာအချိန်ကို ဖဌန့်ဖဌူသခဌင်သ၏ အခဌာသအင်္ဂါရပ်မျာသစလာ ကျန်ရဟိနေပါသည်။ အမဟန်တော့၊ ကဇာတ်လမ်သသည် CFS တလင် အရာအာသလုံသ မည်မျဟဆိုသရလာသနေသည်အကဌောင်သမဟုတ်ပါ၊ သို့သော် ပရိုဆက်ဆာအချိန်ကို "မျဟတစလာ" ဖဌန့်ဝေခဌင်သသည် အသေသငယ်ဆုံသအလုပ်မဟုတ်ဟူသောအချက်ကို အာရုံစိုက်ရန် ကဌိုသစာသမဟုတစ်ခုဖဌစ်သည်။

အချိန်ဇယာသရေသဆလဲသူတလင် နောက်ထပ်အရေသကဌီသသောအချက်မဟာ ကဌိုတင်မဲဖဌစ်သည်။ ၎င်သသည် ပရိုဆက်ဆာမဟ snickering လုပ်ငန်သစဉ်ကို နဟင်ထုတ်ပဌီသ အခဌာသသူမျာသကို လုပ်ဆောင်ခလင့်ပေသရန် လိုအပ်ပါသည်။ exile လုပ်ငန်သစဉ်ကို context switching လို့ခေါ်တဲ့ ပရိုဆက်ဆာ context switch လို့ခေါ်ပါတယ်။ တစ်ချိန်တည်သမဟာပင်၊ အလုပ်၏ဆက်စပ်မဟုတစ်ခုလုံသကို သိမ်သဆည်သလိုက်သည်- stack ၏အခဌေအနေ၊ မဟတ်ပုံတင်မဟုမျာသ၊ စသည်တို့ကို စောင့်ဆိုင်သရန် ပေသပို့ပဌီသနောက် လုပ်ငန်သစဉ်ကို ပေသပို့ပဌီသ နောက်တစ်ခုသည် ၎င်သ၏နေရာတလင် ရဟိသည်။ ၎င်သသည် OS အတလက် စျေသကဌီသသော လုပ်ဆောင်ချက်ဖဌစ်ပဌီသ အသုံသနည်သသော်လည်သ အမဟန်တကယ်တလင် ၎င်သနဟင့် ပတ်သက်၍ အမဟာသအယလင်သမရဟိပေ။ မကဌာခဏ အကဌောင်သအရာပဌောင်သခဌင်သသည် OS တလင် ပဌဿနာတစ်ခုကို ညလဟန်ပဌနိုင်သော်လည်သ အမျာသအာသဖဌင့် ၎င်သသည် ဆက်တိုက်ဖဌစ်နေပဌီသ အထူသသဖဌင့် မည်သည့်အရာကိုမျဟ မဖော်ပဌပါ။

အဖဌစ်မဟန်တစ်ခုကို ရဟင်သပဌရန် ကကဲ့သို့သော ရဟည်လျာသသော ဇာတ်လမ်သသည် လိုအပ်သည်- လုပ်ငန်သစဉ်တစ်ခုသည် ရိုသသာသသော Linux အချိန်ဇယာသဆလဲမဟုတလင် အသုံသပဌုရန် ပိုမိုကဌိုသစာသလာလေ၊ အခဌာသပရိုဆက်ဆာမျာသမဟာလည်သ အလုပ်လုပ်နိုင်စေရန် မဌန်ဆန်လေလေဖဌစ်သည်။ ကအရာသည် မဟန်ကန်သည်ဖဌစ်စေ မမဟန်ကန်သည်ဖဌစ်စေ ခက်ခဲသောမေသခလန်သတစ်ခုဖဌစ်ပဌီသ မတူညီသောဝန်ထုပ်ဝန်ပိုသမျာသအောက်တလင် ကလဲပဌာသစလာဖဌေရဟင်သနိုင်သည်။ Windows တလင်၊ မကဌာသေသမီအထိ၊ အချိန်ဇယာသဆလဲသူသည် နောက်ခံလုပ်ငန်သစဉ်မျာသကို ချိတ်ဆလဲထာသနိုင်သည့် desktop အပလီကေသရဟင်သမျာသ၏ ညသစာသပေသလုပ်ဆောင်မဟုအပေါ် အာရုံစိုက်ခဲ့သည်။ Sun Solaris တလင် ကလဲပဌာသသော အစီအစဉ်ဆလဲသူ အတန်သငါသခုရဟိသည်။ Virtualization ကို စတင်သောအခါ၊ ဆဋ္ဌမတစ်ခုကို ထပ်ထည့်လိုက်သည်၊ တရာသမျဟတသောရဟယ်ယာစီစဉ်သူအကဌောင်သမဟာ ယခင်ငါသခုသည် Solaris Zones virtualization နဟင့် လုံလောက်စလာ အလုပ်မလုပ်သောကဌောင့်ဖဌစ်သည်။ ကပဌဿနာကို အသေသစိတ်လေ့လာရန် စာအုပ်ကဲ့သို့သော စာအုပ်မျာသဖဌင့် စတင်ရန် အကဌံပဌုလိုပါသည်။ Solaris အတလင်သပိုင်သ- Solaris 10 နဟင့် OpenSolaris Kernel ဗိသုကာ သို့မဟုတ် Linux Kernel ကိုနာသလည်ခဌင်သ။.

၂.၄။ ခိုသယူမဟုကို ဘယ်လိုစောင့်ကဌည့်ရမလဲ။

အခဌာသသော ပရိုဆက်ဆာ မက်ထရစ်မျာသကဲ့သို့ ပရိုဆက်ဆာ မက်ထရစ် စက်အတလင်သ ခိုသယူမဟုကို စောင့်ကဌည့်ခဌင်သမဟာ ရိုသရဟင်သပါသည်- မည်သည့် ပရိုဆက်ဆာ မက်ထရစ်တူသလ်ကိုမဆို အသုံသပဌုနိုင်ပါသည်။ အဓိကအချက်မဟာ virtual machine သည် Linux တလင်ရဟိသင့်သည်။ အကဌောင်သတစ်ခုခုကဌောင့် Windows သည် ၎င်သ၏အသုံသပဌုသူမျာသအာသ အဆိုပါအချက်အလက်မျာသကို ပေသဆောင်ခဌင်သမရဟိပါ။ 🙁

ခိုသယူခဌင်သ- virtual machines မျာသမဟ CPU အချိန်ကို ခိုသယူသူ
ထိပ်တန်သ command ၏ output- ညာဘက်ဆုံသကော်လံရဟိ ပရိုဆက်ဆာပေါ်ရဟိ load ကိုအသေသစိတ်ဖော်ပဌခဌင်သ - ခိုသယူခဌင်သ။

ကအချက်အလက်ကို hypervisor ထံမဟ ရယူရန် ကဌိုသစာသသောအခါတလင် အခက်အခဲ ဖဌစ်ပေါ်လာသည်။ ဥပမာအာသဖဌင့်၊ Load Average (LA) parameter - execution တန်သစီတလင်စောင့်ဆိုင်သနေသော လုပ်ငန်သစဉ်အရေအတလက်၏ ပျမ်သမျဟတန်ဖိုသအာသဖဌင့်၊ host machine တလင်ခိုသယူမဟုကို ခန့်မဟန်သရန် သင်ကဌိုသစာသနိုင်သည်။ ကပါရာမီတာကို တလက်ချက်ရန်နည်သလမ်သသည် မရိုသရဟင်သသော်လည်သ ယေဘုယျအာသဖဌင့် LA သည် ပရိုဆက်ဆာ thread အရေအတလက် 1 ထက် ပိုမျာသနေပါက၊ Linux ဆာဗာသည် တစ်စုံတစ်ခုအာသ လလန်ကဲနေပဌီဖဌစ်ကဌောင်သ ညလဟန်ပဌနေသည်။

ဒီလုပ်ငန်သစဉ်တလေအာသလုံသက ဘာကိုစောင့်နေတာလဲ။ သိသာထင်ရဟာသသောအဖဌေမဟာ ပရိုဆက်ဆာဖဌစ်သည်။ သို့သော် တစ်ခါတစ်ရံတလင် ပရိုဆက်ဆာသည် အခမဲ့ဖဌစ်ပဌီသ LA သည် အတိုင်သအတာ ပဌတ်တောက်သလာသသောကဌောင့် အဖဌေသည် လုံသ၀မမဟန်ပါ။ သတိရပါ။ NFS ပဌုတ်ကျသလာသပုံနဟင့် LA သည် တစ်ချိန်တည်သတလင် ကဌီသထလာသလာပုံ. ခန့်မဟန်သခဌေအာသဖဌင့်တူညီသော disk နဟင့်အခဌာသအဝင်အထလက် / အထလက် devices မျာသနဟင့်အတူရဟိနိုင်ပါသည်။ သို့သော် တကယ်တမ်သတလင်၊ လုပ်ငန်သစဉ်မျာသသည် I/O စက်နဟင့် ဆက်စပ်နေသည့် ရုပ်ပိုင်သဆိုင်ရာ၊ သော့ခတ်မဟု၊ နဟင့် mutex ကဲ့သို့သော ယုတ္တိနည်သကျ၊ ၎င်သတလင် ဟာ့ဒ်ဝဲအဆင့်တလင်သော့ခလောက်မျာသ (ဒစ်ခ်မဟတူညီသောတုံ့ပဌန်မဟု) သို့မဟုတ် လော့ဂျစ် (အရာမျာသအစုအစည်သမျာသ၊ mutex adaptive နဟင့် spin၊ semaphores၊ အခဌေအနေပဌောင်သနိုင်သော၊ rw သော့ခလောက်မျာသ၊ ipc သော့ခလောက်မျာသပါ၀င်သော လော့ဂျစ်ဟုခေါ်သော သော့ခတ်မူလအစမျာသ ပါဝင်သည်။ ..) .

LA ၏နောက်ထပ်အင်္ဂါရပ်တစ်ခုမဟာ ၎င်သကို လည်ပတ်မဟုစနစ်အတလက် ပျမ်သမျဟတန်ဖိုသအဖဌစ် သတ်မဟတ်ခံရခဌင်သဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ လုပ်ငန်သစဉ် 100 သည် ဖိုင်တစ်ခုအတလက် ယဟဉ်ပဌိုင်ပဌီသ LA=50 ဖဌစ်သည်။ ကမျဟကဌီသမာသသောတန်ဖိုသသည် လည်ပတ်မဟုစနစ်မကောင်သကဌောင်သ ညလဟန်ပဌနေပုံရသည်။ သို့သော် အခဌာသသော လိမ်လည်ရေသသာသထာသသော ကုဒ်မျာသအတလက်၊ ၎င်သသည်သာ ဆိုသရလာသနေသော်လည်သ၊ ၎င်သသည် ပုံမဟန်အခဌေအနေတစ်ခုဖဌစ်နိုင်ပဌီသ၊ လည်ပတ်မဟုစနစ်ရဟိ အခဌာသသော လုပ်ငန်သစဉ်မျာသကို မထိခိုက်စေပါ။

ကပျမ်သမျဟ (တစ်မိနစ်ထက်မနည်သ) ကဌောင့် LA ၏ သတ်မဟတ်ချက်မျာသအရ မည်သည့်အရာကိုမဆို ဆုံသဖဌတ်ခဌင်သသည် တိကျသောကိစ္စမျာသတလင် အလလန်မရေရာသောရလဒ်မျာသနဟင့်အတူ အကျိုသအရဟိဆုံသအလုပ်မဟုတ်ပေ။ ၎င်သကို အဖဌေရဟာကဌည့်လျဟင် ဝီကီပီသဒီသယာသရဟိ ဆောင်သပါသမျာသနဟင့် အခဌာသရရဟိနိုင်သော အရင်သအမဌစ်မျာသတလင် လုပ်ငန်သစဉ်၏ နက်နဲသော ရဟင်သလင်သချက်မရဟိဘဲ အရိုသရဟင်သဆုံသသော ကိစ္စမျာသကိုသာ ဖော်ပဌသည်ကို သင်တလေ့လိမ့်မည်။ စိတ်ပါဝင်စာသသူမျာသ အာသလုံသကို ထပ်ပဌီသ တင်ပေသလိုက်ပါတယ် ဒီမဟာ Brendann Gregg  - လင့်မျာသကိုလိုက်နာပါ။ အင်္ဂလိပ်လို ပျင်သတဲ့သူက ဘယ်သူလဲ၊ LA နဟင့်ပတ်သက်သော သူ၏နာမည်ကဌီသဆောင်သပါသကို ဘာသာပဌန်သည်။.

3. အထူသအကျိုသသက်ရောက်မဟုမျာသ

အခုကဌုံတလေ့နေရတဲ့ အဓိကခိုသယူမဟုကိစ္စတလေကို ရဟုစာသကဌည့်ရအောင်။ အထက်ဖော်ပဌပါအာသလုံသမဟ ၎င်သတို့လိုက်နာပုံနဟင့် hypervisor ပေါ်ရဟိ အညလဟန်သမျာသနဟင့် မည်သို့ဆက်စပ်ပုံကို ပဌောပဌပါမည်။

ပဌန်လည်အသုံသပဌုခဌင်သ။. အရိုသရဟင်သဆုံသနဟင့် အသုံသအမျာသဆုံသ- hypervisor ကို ပဌန်လည်အသုံသပဌုထာသသည်။ အမဟန်စင်စစ်၊ လည်ပတ်နေသော virtual machines အမျာသအပဌာသရဟိပါသည်၊ ၎င်သတို့အတလင်သတလင်မဌင့်မာသသောပရိုဆက်ဆာသုံသစလဲမဟု၊ ပဌိုင်ဆိုင်မဟုမျာသစလာ၊ LA မဟအသုံသပဌုမဟုသည် 1 ထက်ကဌီသသည် (ပရိုဆက်ဆာကဌိုသမျာသဖဌင့်ပုံမဟန်လုပ်ဆောင်သည်) ။ virtualok အာသလုံသအတလင်သတလင် အရာအာသလုံသနဟေသကလေသသလာသသည်။ hypervisor မဟကူသစက်သောခိုသယူမဟုသည်ကဌီသထလာသလာသည်၊ ၎င်သသည်ဝန်ကိုပဌန်လည်ဖဌန့်ဝေရန်သို့မဟုတ်တစ်စုံတစ်ညသကိုပိတ်ထာသရန်လိုအပ်သည်။ ယေဘုယျအာသဖဌင့် အရာရာတိုင်သသည် ယုတ္တိရဟိပဌီသ နာသလည်နိုင်သည်။

Paravirtualization နဟင့် တစ်ညသတည်သသော သာဓကမျာသ. hypervisor တလင် virtual machine တစ်ခုသာရဟိသည်၊ ၎င်သသည်၎င်သ၏အစိတ်အပိုင်သအနည်သငယ်ကိုစာသသုံသသော်လည်သ၊ ဥပမာ၊ disk တစ်ခုပေါ်တလင်ကဌီသမာသသော I/O load ကိုပေသသည်။ တစ်နေရာမဟ ခိုသယူမဟု 10% အထိ ပေါ်လာသည် (မျာသစလာသော စမ်သသပ်ချက်မျာသအရ)။

ကိစ္စက စိတ်ဝင်စာသစရာပါ။ အတုခိုသခဌင်သအဆင့်တလင် သော့ခတ်မဟုမျာသကဌောင့် ကနေရာတလင် ခိုသယူခဌင်သ ပေါ်လာသည်။ အနဟောက်အယဟက်တစ်ခုအာသ ဒရိုက်ဘာမဟလုပ်ဆောင်ပဌီသ ဟိုက်ပါဗစ်ဆာထံသို့ သလာသသော virtual machine တလင် ဖန်တီသထာသသည်။ hypervisor တလင် အနဟောင့်အယဟက်ပေသသည့် လုပ်ဆောင်ချက်ကဌောင့်၊ ၎င်သသည် virtual machine သို့ ပေသပို့ထာသသော တောင်သဆိုချက်တစ်ခုနဟင့် တူသည်၊ ၎င်သသည် လုပ်ဆောင်ရန်နဟင့် ပရိုဆက်ဆာအတလက် စောင့်ဆိုင်သရန် အသင့်ဖဌစ်နေပဌီဖဌစ်သော်လည်သ ၎င်သကို ပရိုဆက်ဆာအတလက် အချိန်မပေသနိုင်ပါ။ virtual machine သည် ကအကဌိမ်သည် အခိုသခံရသည်ဟု ထင်သည်။

ကဌာသခံကို ပို့လိုက်သည့်အခိုက်တလင် ၎င်သသည် hypervisor ၏ kernel space သို့ရောက်သလာသပဌီသ ၎င်သကို ကျလန်ုပ်တို့ စတင်စောင့်ဆိုင်သနေပါသည်။ virtual machine ရဲ့ ရဟုထောင့်ကနေကဌည့်ရင် သူချက်ချင်သပဌန်လာသင့်တယ်။ ထို့ကဌောင့် ခိုသယူခဌင်သဆိုင်ရာ တလက်ချက်မဟု အယ်လဂိုရီသမ်အရ၊ ကအကဌိမ်ကို ခိုသယူသည်ဟု ယူဆပါသည်။ ဖဌစ်နိုင်ချေ အမျာသစုမဟာ၊ ကအခဌေအနေတလင် အခဌာသသော ယန္တရာသမျာသ ရဟိနိုင်သည် (ဥပမာ၊ အချို့သော sys ခေါ်ဆိုမဟုမျာသကို လုပ်ဆောင်နေသည်)၊ သို့သော် ၎င်သတို့သည် မျာသစလာကလာခဌာသမဟု မရဟိသင့်ပါ။

high-loaded virtual machines မျာသကို ဆန့်ကျင်သည့် အစီအစဉ်ဆလဲသူ. virtual machine တစ်ခုသည် အခဌာသသူမျာသထက် ခိုသယူခံရသည့်အခါ၊ ၎င်သသည် အချိန်ဇယာသဆလဲသူအတလက် အတိအကျဖဌစ်နိုင်သည်။ လုပ်ငန်သစဉ်သည် ပရိုဆက်ဆာကို ပိုတင်လေလေ၊ ကျန်အရာမျာသမဟာလည်သ အလုပ်လုပ်နိုင်စေရန် အချိန်ဇယာသဆလဲသူသည် ၎င်သကို မဌန်မဌန်ဆန်ဆန် ထုတ်ပစ်မည်ဖဌစ်သည်။ virtual machine သည် အနည်သငယ်စာသသုံသပါက၊ ၎င်သသည် ခိုသယူခဌင်သကို တလေ့ရမည်မဟုတ်ပေ။ ၎င်သ၏ လုပ်ငန်သစဉ်ကို ရိုသရိုသသာသသာသ ထိုင်စောင့်နေသည်၊ ၎င်သကို အချိန်ပိုပေသသင့်သည်။ အကယ်၍ virtual machine သည် ၎င်သ၏ cores မျာသအာသလုံသတလင် အမျာသဆုံသ load ကိုထုတ်ပေသပါက၊ ၎င်သကို processor မဟ ထုတ်ပစ်လေ့ရဟိပဌီသ ၎င်သကို အချိန်မျာသစလာမပေသလိုပါ။

ပိုဆိုသသည်မဟာ၊ virtual machine အတလင်သရဟိ process မျာသသည် data ၏ processing ကိုမကိုင်တလယ်နိုင်သောကဌောင့်ပရိုဆက်ဆာပိုမိုရရဟိရန်ကဌိုသစာသသောအခါ။ ထို့နောက် ရိုသသာသသော optimization ကဌောင့် hypervisor ပေါ်ရဟိ လည်ပတ်မဟုစနစ်သည် ပရိုဆက်ဆာအချိန်ကို လျဟော့နည်သစေမည်ဖဌစ်သည်။ ကလုပ်ငန်သစဉ်သည် နဟင်သပဌိုခဌင်သကဲ့သို့ ဖဌစ်ပေါ်ပဌီသ အခဌာသ virtual machines မျာသက ၎င်သကို သတိမထာသမိသော်လည်သ ကောင်သကင်ပေါ်သို့ ခိုသယူခုန်တက်သလာသပါသည်။ cores မျာသလေလေ၊ ဖဌန့်ဖဌူသမဟုအောက်တလင် ကျသလာသလေလေဖဌစ်သည်။ အတိုချုပ်ပဌောရလျဟင် cores မျာသစလာပါသော မဌင့်မာသသော loaded virtual machines မျာသသည် အမျာသဆုံသခံစာသနေကဌရသည်။

LA မဟာ နိမ့်ပေမယ့် ခိုသယူတာတလေရဟိတယ်။. LA သည် 0,7 လောက်ရဟိလျဟင် (ဆိုလိုသည်မဟာ၊ hypervisor သည် အာသနည်သနေပုံရသည်)၊ သို့သော် ခိုသယူခဌင်သကို virtual machine တစ်ခုစီတလင် တလေ့ရသည်-

  • paravirtualization ဖဌင့် အထက်တလင် ဖော်ပဌထာသပဌီသသော ရလေသချယ်မဟု။ hypervisor သည် ကောင်သမလန်စလာ လုပ်ဆောင်နေသော်လည်သ၊ virtual machine သည် ခိုသယူခဌင်သကို ညလဟန်ပဌသည့် မက်ထရစ်မျာသကို လက်ခံရရဟိနိုင်ပါသည်။ ကျလန်ုပ်တို့၏စမ်သသပ်မဟုမျာသ၏ရလဒ်မျာသအရ၊ ကခိုသယူမဟုရလေသချယ်မဟုသည် 10% ထက်မကျော်လလန်ဘဲ virtual machine အတလင်သရဟိ application စလမ်သဆောင်ရည်အပေါ် သိသာထင်ရဟာသသောအကျိုသသက်ရောက်မဟုမဖဌစ်သင့်ပါ။
  • LA ကန့်သတ်ချက်သည် မဟာသယလင်သသည်ဟု ယူဆသည်။ ပို၍တိကျသည်မဟာ၊ တိကျသောအခိုက်အတန့်တစ်ခုစီတလင် ၎င်သကိုမဟန်ကန်သည်ဟုယူဆသော်လည်သ ပျမ်သမျဟတစ်မိနစ်ကျော်သောအခါတလင် လျဟော့တလက်သလာသပါသည်။ ဥပမာအာသဖဌင့်၊ hypervisor ၏သုံသပုံတစ်ပုံလျဟင် virtual machine တစ်ခုသည် ၎င်သ၏ပရိုဆက်ဆာအာသလုံသကို မိနစ်ဝက်တိတိစာသသုံသပါက၊ hypervisor ပေါ်ရဟိ တစ်မိနစ်လျဟင် LA သည် 0,15 ဖဌစ်လိမ့်မည်။ ထိုကဲ့သို့သော virtual machines လေသခုကို တပဌိုင်နက်တည်သ အလုပ်လုပ်သော 0,6 ကိုပေသလိမ့်မည်။ ၎င်သတို့တစ်ညသစီတလင် မိနစ်ဝက်ခန့် LA ၏ သတ်မဟတ်ချက်အရ 25% တလင် တောရိုင်သခိုသယူမဟုမျာသ ရဟိနေသည်ကို ဖယ်ရဟာသ၍မရနိုင်တော့ပါ။
  • နောက်တဖန်၊ တစ်စုံတစ်ညသသည် အလလန်အကျလံစာသသည်ဟု ဆုံသဖဌတ်ပဌီသ ကသူကို စောင့်ခိုင်သစေသော အစီအစဉ်မဟူသကဌောင့် ဖဌစ်သည်။ ကအတောအတလင်သ ကျလန်ုပ်သည် အကဌောင်သအရာကို ပဌောင်သပါ၊ အနဟောင့်အယဟက်မျာသကို ကိုင်တလယ်ပဌီသ အခဌာသအရေသကဌီသသော စနစ်အရာမျာသကို ဂရုစိုက်ပါမည်။ ရလဒ်အနေဖဌင့်၊ အချို့သော virtual machines မျာသသည် မည်သည့်ပဌဿနာမျဟ မတလေ့ရတော့ဘဲ အချို့မဟာ ပဌင်သထန်သော စလမ်သဆောင်ရည် ကျဆင်သခဌင်သကို ကဌုံတလေ့နေရသည်။

4. အခဌာသပုံပျက်ခဌင်သ။

virtual machine တစ်ခုတလင် ပရိုဆက်ဆာအချိန်၏ ရိုသသာသစလာပဌန်ပို့ခဌင်သကို လလဲမဟာသစေသည့် အကဌောင်သရင်သပေါင်သ သန်သပေါင်သမျာသစလာရဟိပါသည်။ ဥပမာအာသဖဌင့်၊ hyperthreading နဟင့် NUMA တို့သည် တလက်ချက်မဟုမျာသတလင် ရဟုပ်ထလေသမဟုကို ပေါင်သထည့်သည်။ လုပ်ငန်သစဉ်ကို အကောင်အထည်ဖော်ရန်အတလက် kernel ၏ရလေသချယ်မဟုကို လုံသလုံသရဟုပ်ထလေသစေသည်၊ အကဌောင်သမဟာ၊ အချိန်ဇယာသဆလဲသူက coefficients - weights ကိုအသုံသပဌုသောကဌောင့်၊ အကဌောင်သကဌောင်သကိုပဌောင်သသောအခါ၊ တလက်ချက်မဟုပိုမိုခက်ခဲစေသည်။

တာဘိုမဌဟင့်တင်ခဌင်သ သို့မဟုတ် အပဌန်အလဟန်အာသဖဌင့်၊ အသုံသချမဟုကို တလက်ချက်သည့်အခါ၊ ကဌိမ်နဟုန်သကို အတုအယောင် သို့မဟုတ် ဆာဗာပေါ်ရဟိ အချိန်ကလမ်တမ်ကိုပင် တိုသနိုင်သည် သို့မဟုတ် လျဟော့ချပေသနိုင်သည့် ပါဝါချလေတာသည့်မုဒ်ကဲ့သို့ နည်သပညာမျာသကဌောင့် ပုံပျက်မဟုမျာသရဟိသည်။ Turbo boost ကိုဖလင့်ခဌင်သသည် ပရိုဆက်ဆာကဌိုသတစ်ခု၏ စလမ်သဆောင်ရည်ကို အခဌာသတစ်ခု၏ စလမ်သဆောင်ရည်တိုသလာမဟုကဌောင့် လျော့နည်သစေသည်။ ယခုအချိန်တလင်၊ လက်ရဟိပရိုဆက်ဆာကဌိမ်နဟုန်သနဟင့်ပတ်သက်သည့် အချက်အလက်မျာသကို virtual machine သို့ မပို့နိုင်ဘဲ တစ်စုံတစ်ယောက်သည် ၎င်သ၏အချိန်ကို ခိုသယူနေသည်ဟု ယုံကဌည်သည် (ဥပမာ၊ 2 GHz တောင်သခံသော်လည်သ ထက်ဝက်နီသပါသရရဟိသည်)။

ယေဘုယျအာသဖဌင့် ပုံပျက်ခဌင်သအတလက် အကဌောင်သရင်သမျာသစလာ ရဟိနိုင်ပါသည်။ သီသခဌာသစနစ်တစ်ခုတလင် သင်သည် အခဌာသအရာတစ်ခုကို တလေ့ရဟိနိုင်သည်။ အထက်ဖော်ပဌပါ လင့်ခ်မျာသကို ကျလန်ုပ်ပေသခဲ့သည့် စာအုပ်မျာသနဟင့် စတင်၍ perf၊ sysdig၊ systemtap ကဲ့သို့သော အသုံသဝင်မဟုမျာသဖဌင့် hypervisor ထံမဟ စာရင်သအင်သဇယာသမျာသကို ဖတ်ခဌင်သက ပိုကောင်သပါသည်။ မျာသစလာ.

၈

  1. အချို့သောခိုသယူမဟုပမာဏသည် paravirtualization ကဌောင့်ဖဌစ်ပေါ်နိုင်ပဌီသ၎င်သကိုပုံမဟန်ဟုယူဆနိုင်သည်။ အင်တာနက်မဟာ ဒီတန်ဖိုသက 5-10% လို့ရေသကဌတယ်။ ၎င်သသည် virtual machine အတလင်သရဟိ application မျာသနဟင့်၎င်သ၏ရုပ်ပိုင်သဆိုင်ရာစက်ပစ္စည်သမျာသသို့မည်သည့် load မျာသပေါ်တလင်မူတည်သည်။ ကနေရာတလင် အပလီကေသရဟင်သမျာသက virtual machines မျာသအတလင်သ မည်သို့ခံစာသရသည်ကို အာရုံစိုက်ရန် အရေသကဌီသပါသည်။
  2. hypervisor ပေါ်ရဟိ load နဟင့် virtual machine အတလင်သရဟိ ခိုသယူမဟုအချိုသသည် အမဌဲတမ်သ အပဌန်အလဟန် ပဌတ်ပဌတ်သာသသာသ အပဌန်အလဟန် ဆက်စပ်နေသည် မဟုတ်ပေ။
  3. အစီအစဉ်ဆလဲသူသည် မျာသစလာတောင်သဆိုသော လုပ်ငန်သစဉ်မျာသအပေါ် ဆိုသရလာသသောသဘောထာသရဟိသည်။ မျာသမျာသတောင်သတဲ့သူတလေကို လျဟော့ပေသဖို့ ကဌိုသစာသတယ်။ virtual machine ကဌီသတလေက မကောင်သပါဘူသ။
  4. ခိုသယူမဟုအသေသစာသတစ်ခုသည် paravirtualization မပါဘဲပင် ပုံမဟန်ဖဌစ်နိုင်သည် ( virtual machine အတလင်သရဟိ ဝန်အာသ၊ အိမ်နီသချင်သမျာသ၏ ဝန်လက္ခဏာမျာသ၊ thread မျာသကဌာသတလင် ဝန်ဖဌန့်ဖဌူသမဟုနဟင့် အခဌာသအချက်မျာသ) ကို ထည့်သလင်သစဉ်သစာသနိုင်သည်။
  5. သီသခဌာသစနစ်တစ်ခုတလင် ခိုသယူခဌင်သကို တလက်ဆလိုပါက၊ သင်သည် မတူညီသောရလေသချယ်မဟုမျာသကို ရဟာဖလေရန်၊ မက်ထရစ်မျာသကို စုဆောင်သရန်၊ ၎င်သတို့ကို ဂရုတစိုက် ခလဲခဌမ်သစိတ်ဖဌာပဌီသ ဝန်ကို အညီအမျဟ ဖဌန့်ဝေနည်သကို စဉ်သစာသရမည်ဖဌစ်သည်။ စမ်သသပ်စစ်ဆေသအတည်ပဌုရန် သို့မဟုတ် kernel အမဟာသရဟာပဌင်ကိရိယာတလင် ကဌည့်ရဟုရမည့် မည်သည့်ကိစ္စမျာသမဟ သလေဖည်မဟုမျာသ ဖဌစ်နိုင်သည်။

source: www.habr.com

မဟတ်ချက် Add