Xatooyo: yaa wakhtiga CPU ka xaday mishiinada casriga ah

Xatooyo: yaa wakhtiga CPU ka xaday mishiinada casriga ah

Hello! Waxaan rabaa in aan si fudud kaaga sheego makaanikada wax lagu xado gudaha mashiinnada farsamada gacanta iyo wax ku saabsan qaar ka mid ah farshaxannada aan caddayn ee aan ku guuleysanay inaan ogaano intii lagu jiray cilmi-baaristeeda, taas oo ay ahayd inaan u quusto agaasimaha farsamada ee madal daruur ah. Mail.ru Cloud Solutions. Madalku wuxuu ku shaqeeyaa KVM.

Waqtiga xatooyada CPU waa waqtiga inta lagu jiro taas oo mashiinka farsamada uusan helin agabka processor-ka fulinta. Wakhtigan waxa kaliya oo lagu tiriyaa nidaamyada hawlgalka martida ee jawiga abuurista. Sababaha meesha kheyraadkan inta badan loo qoondeeyay aado, sida nolosha oo kale, waa kuwo aan caddayn. Laakiin waxaan go'aansanay inaan ogaano, xitaa waxaan sameynay tiro tijaabo ah. Ma ahan inaan hadda wax walba ka ogaanno xatooyada, laakiin waxaan hadda kuu sheegi doonnaa wax xiiso leh.

1. Maxaa tuugo

Markaa, xatooyo waa mitir tilmaamaysa la'aanta wakhtiga processor-ka ee hababka gudaha mashiinka farsamada. Sida lagu tilmaamay oo ku jira balastar KVM kernelStealth waa wakhtiga uu hypervisor-ku fulinayo habab kale oo ku saabsan OS-ga martida loo yahay inkasta oo uu safay habka mashiinka farsamada ee fulinta. Yacni, xatooyada waxaa loo xisaabiyaa farqiga u dhexeeya wakhtiga hawsha diyaarka u yahay in la fuliyo iyo wakhtiga hawsha loo qoondeeyay wakhtiga processor-ka.

Kernel-ka mashiinka dalwaddu wuxuu ka helaa cabbirka xad-dhaafka ah ee hypervisor-ga. Isla mar ahaantaana, hypervisor-ku si sax ah uma qeexin hababka kale ee ay u socoto, waxay si fudud u leedahay "inta aan mashquulsanahay, kuma siin karo waqti." On KVM, taageerada xisaabinta xatooyada ayaa lagu daray balastar. Halkan waxaa ah laba qodob oo muhiim ah:

  • Mashiinka dalwaddu wuxuu wax ka bartaa wax ka xadista hypervisor-ka. Taasi waa, marka laga eego aragtida khasaaraha, hababka mashiinka farsamada laftiisa tani waa cabbir aan toos ahayn oo ku dhici kara qalloocyo kala duwan.
  • Hypervisor-ku lama wadaago macluumaadka mashiinka farsamada ee ku saabsan waxa kale ee uu qabanayo - waxa ugu muhiimsan waa in uusan waqti u gelin. Sababtan awgeed, mashiinka farsamada laftiisa ma ogaan karo qalloocyada tilmaamayaasha xatooyada, kaas oo lagu qiimeyn karo dabeecadda hababka tartanka.

2. Maxaa saameeya xatooyada

2.1. Xisaabinta xado

Asal ahaan, xatooyada waxaa la xisaabiyaa ku dhawaad ​​isla wakhtiga isticmaalka CPU ee caadiga ah. Ma jiraan macluumaad badan oo ku saabsan sida dib u warshadaynta loo tixgeliyo. Malaha sababta oo ah dadka intooda badani waxay u arkaan su'aashan mid cad. Laakiin sidoo kale waxaa jira dabinno halkan. Si aad naftaada u barato habkan, waad akhrin kartaa maqaal uu qoray Brendan Gregg: waxaad baran doontaa waxyaabo badan oo nuances ah markaad xisaabinayso isticmaalka iyo xaaladaha marka xisaabintani ay khalad noqon doonto sababaha soo socda:

  • Processor-ku aad buu u kululaadaa, taasoo keenaysa wareegtooyin inay boodaan.
  • Daar/dami kor u qaadida turbo, kaas oo beddela inta jeer ee saacada processor-ka.
  • Isbeddel ku yimaadda dhererka jeex-jeexa wakhtiga ee dhaca marka la isticmaalayo tignoolajiyada awood-badbaadinta processor-ka sida SpeedStep.
  • Dhibaatada xisaabinta celceliska: qiyaas ka faa'iidaysiga hal daqiiqo 80% waxay qarin kartaa dillaaca muddada gaaban ee 100%.
  • Qufulka laf-dhabarka wuxuu keenaa in processor-ka dib loo soo ceshado, laakiin habka isticmaaluhu ma arko wax horumar ah oo ku saabsan fulintiisa. Natiijo ahaan, isticmaalka processor-ka la xisaabiyay ee habka ayaa noqon doona boqolkiiba boqol, in kasta oo geeddi-socodku uusan jir ahaan u isticmaali doonin waqtiga processor-ka.

Ma helin maqaal qeexaya xisaabinta la midka ah ee xatooyada (haddii aad ogtahay, la wadaag faallooyinka). Laakiin, marka la eego koodhka isha, habka xisaabinta ayaa la mid ah dib u warshadaynta. Si fudud, counter kale ayaa lagu daraa kernel-ka, si toos ah habka KVM (habka mashiinka farsamada), kaas oo xisaabinaya muddada habka KVM ee sugaya waqtiga CPU. Mashiinku wuxuu ka qaadaa macluumaadka ku saabsan processor-ka sifihiisa oo wuxuu hubinayaa in dhammaan shilinta lagu isticmaalo habka mashiinka farsamada. Hadday taasi dhammaanteed, markaa waxaan u qaadaneynaa in processor-ku uu kaliya ku mashquulsanaa habka mashiinka farsamada. Haddii kale, waxaan ku wargelineynaa in processor-ku uu sameynayey wax kale, xatooyo ayaa u muuqday.

Habka tirinta xatooyada waxay ku xiran tahay isla dhibaatooyinka tirinta dib u warshadaynta ee caadiga ah. Ma aha in la yiraahdo dhibaatooyinkan oo kale waxay u muuqdaan marar badan, laakiin waxay u muuqdaan kuwo niyad-jab ah.

2.2. Noocyada wax-soo-saarka ee KVM

Marka si ballaadhan loo hadlo, waxaa jira saddex nooc oo wax-ku-ool ah, kuwaas oo dhammaantood ay taageerto KVM. Habka wax xadista waxa laga yaabaa in ay ku xidhan tahay nooca khiyaaliga.

Warbaahin. Xaaladdan oo kale, hawlgalka nidaamka hawlgalka mashiinka farsamada leh qalabka hypervisor jireed waxay dhacdaa sida tan:

  1. Nidaamka hawlgalka martida ayaa amar u soo dira qalabkiisa martida.
  2. Darawalka qalabka martida wuxuu helayaa amarka, wuxuu abuuraa codsi qalabka BIOS wuxuuna u diraa hypervisor.
  3. Habka hypervisor-ku wuxuu u tarjumaa amarka amarka qalabka jireed, isagoo ka dhigaya, waxyaabo kale, ammaan badan.
  4. Darawalka aaladaha jireed wuxuu aqbalayaa amarka la beddelay wuxuuna u diraa aaladda lafteeda.
  5. Natiijooyinka fulinta amarada waxay dib ugu noqdaan wadada la mid ah.

Faa'iidada tarjumaadda waa in ay kuu ogolaato inaad ku daydaan qalab kasta oo uma baahna diyaarin gaar ah ee kernel nidaamka qalliinka. Laakiin waa inaad tan ku bixisaa, marka hore, xawaare.

Farsamaynta qalabka. Xaaladdan oo kale, aaladda heerka hardware waxay fahmeysaa amarrada nidaamka hawlgalka. Tani waa sida ugu dhakhsaha badan uguna wanaagsan. Laakin, nasiib daro, laguma taageero dhamaan qalabka jireed, hypervisors iyo nidaamyada hawlgalka martida. Waqtigan xaadirka ah, aaladaha ugu muhiimsan ee taageera qalabaynta qalabka waa processor-rada.

Paravirtualization. Xulashada ugu caansan ee qalabaynta qalabka KVM iyo guud ahaan habka ugu caansan ee nidaamka hawlgalka martida. Gaar ahaan waxay tahay in ay la shaqeyso qaar ka mid ah nidaamyada hoose ee hypervisor (tusaale, shabakada ama xirmada diskka) ama qoondaynta boggaga xusuusta waxay dhacdaa iyadoo la adeegsanayo API hypervisor, iyada oo aan la turjumaynin amarrada hoose. Faa'iido darrada habkan wax-ku-oolka ah ayaa ah in kernelka nidaamka hawlgalka martida wax laga beddelo si uu ula xiriiro hypervisor-ka iyadoo la adeegsanayo API-gan. Laakiin tan sida caadiga ah waxaa lagu xalliyaa iyadoo lagu rakibayo darawallo gaar ah nidaamka hawlgalka martida. Gudaha KVM API kan waxaa loogu yeeraa virtio API.

Iyada oo paravirtualization, marka la barbar dhigo baahinta, Jidka qalabka jireed si weyn u dhimay by amarrada si toos ah ka mashiinka dalwaddii in habka hypervisor on martida loo yahay. Tani waxay kuu ogolaaneysaa inaad dedejiso fulinta dhammaan tilmaamaha gudaha mashiinka farsamada. Gudaha KVM, tan waxaa sameeya virtio API, kaas oo u shaqeeya kaliya aaladaha qaarkood, sida shabakada ama adabtarada diskka. Tani waa sababta darawalada virtio loogu rakibay gudaha mishiinada farsamada.

Dhinaca hoose ee dardargelintan ayaa ah in dhammaan hababka ku shaqeeya mashiinka farsamada gacanta aysan ku sii jirin gudaha. Tani waxay abuurtaa saameyn gaar ah oo ka dhalan karta xatooyo. Waxaan ku talinayaa in la bilaabo daraasad faahfaahsan oo arrintan ku saabsan API ah I/O dalwaddii: virtio.

2.3. Jadwalka "cadaalad".

Mashiinka farsamada ee ku yaala hypervisor waa, dhab ahaantii, nidaam caadi ah oo adeeca shuruucda jadwalka (qeybsiga kheyraadka u dhexeeya hababka) ee Linux kernel, markaa aynu si dhow u eegno.

Linux waxay isticmaashaa waxa loogu yeero CFS, Jadwalka Cadaalada Dhameystiran, kaas oo noqday jadwalaha caadiga ah tan iyo kernel 2.6.23. Si aad u fahamto algorithm-kan, waxaad akhrin kartaa Linux Kernel Architecture ama koodhka isha. Nuxurka CFS waa in la qaybiyo wakhtiga processor-ka inta u dhaxaysa hababka iyada oo ku xidhan muddada fulinta. Inta badan wakhtiga CPU ee geedi socodku u baahan yahay, waa yaraanta wakhtiga CPU uu helayo. Tani waxay hubinaysaa in dhammaan hababka loo fuliyo "si cadaalad ah" - si hal nidaam uusan si joogto ah u mashquulin dhammaan processor-yada, iyo hababka kale ayaa sidoo kale fulin kara.

Mararka qaarkood qaabkani wuxuu keenaa waxyaabo xiiso leh. Isticmaalayaasha Linux ee muddada dheer waxay u badan tahay inay xusuustaan ​​qaboojinta tifaftiraha qoraalka caadiga ah ee desktop-ka iyadoo ay wadaan codsiyada kheyraadka leh sida iskudubaridiyaha. Tani waxay dhacday sababtoo ah hawlo aan khayraad ahayn oo ku jira codsiyada Desktop-ka waxay la tartamayeen hawlo badan oo kheyraad ah, sida isku-dubaridiyaha. CFS waxa ay u malaynaysaa in tani ay tahay cadaalad darro, marka waxa ay joojisaa xilliyada qaar tifaftiraha qoraalka oo ay u ogolaato processor-ku in uu qabto hawlaha isu-duwaha. Tan waxaa lagu saxay qaab farsamo sched_autogroup, laakiin sifooyin badan oo kale oo qaybinta wakhtiga processor u dhexeeya hawlaha ayaa hadhay. Dhab ahaantii, tani maaha sheeko ku saabsan sida ay wax walba ugu xun yihiin CFS, laakiin isku dayga lagu doonayo in lagu soo jiito xaqiiqda ah in "caddaalad" qaybinta wakhtiga processor-ku aanu ahayn hawsha ugu yar.

Qodob kale oo muhiim ah oo ku jira jadwaleeyaha waa ka-hor-istaag. Tani waxay lagama maarmaan u tahay in laga saaro habka snickering processor-ka oo loo ogolaado kuwa kale inay shaqeeyaan. Habka saarista waxaa loo yaqaan beddelka macnaha guud. Xaaladdan oo kale, dhammaan macnaha guud ee hawsha waa la ilaaliyaa: xaaladda xirmooyinka, diiwaan-gelinta, iwm., ka dib habka loo diro si loo sugo, mid kalena wuxuu qaataa booskiisa. Tani waa hawl qaali u ah OS-ka oo si dhif ah loo isticmaalo, laakiin ma jiraan wax khalad ah oo ku jira. Beddelka macnaha guud ee soo noqnoqda waxa laga yaabaa inay muujiso dhibaato OS ka jirta, laakiin badiyaa waa mid joogto ah oo wax gaar ah ma tilmaamayso.

Sheekada dheer ee noocan oo kale ah ayaa loo baahan yahay si loo sharaxo hal xaqiiqo: inta badan qalabka processor-ka ee geeddi-socodku isku dayo inuu ku isticmaalo jadwalka Linux daacad ah, si dhakhso ah ayaa loo joojin doonaa si hababka kale ay sidoo kale u shaqeeyaan. Haddii tani sax tahay iyo in kale waa su'aal adag oo si kala duwan loogu xallin karo culeysyo kala duwan. Gudaha Windows, ilaa dhawaan, jadwalku waxa uu diiradda saaray habaynta mudnaanta ee codsiyada Desktop-ka, taas oo sababi karta in hababka asalka ahi ay fariistaan. Sun Solaris waxay lahayd shan jadwal oo kala duwan. Markii aanu bilownay hab-dhaqanka, waxa aanu ku darnay mid lixaad, Jadwal wadaag cadaalad ah, sababtoo ah shantii hore si ku filan ugamay shaqaynayn aagga Solaris. Waxaan ku talinayaa in la bilaabo daraasad faahfaahsan oo arrintan ku saabsan buugaag sida Solaris Internals: Solaris 10 iyo OpenSolaris Kernel Architecture ama Fahamka Kernel Linux.

2.4. Sidee loola socdaa xatooyada?

La socodka xatooyada mashiinka farsamada, sida mitirka processor-yada kale, waa mid fudud: waxaad isticmaali kartaa qalab kasta oo cabbiraadda processor-ka. Waxa ugu muhiimsan waa in mashiinka farsamada uu ku jiro Linux. Sababaha qaar Windows ma siiso macluumaadkan isticmaaleyaasheeda. πŸ™

Xatooyo: yaa wakhtiga CPU ka xaday mishiinada casriga ah
Soo saarida amarka ugu sarreeya: faahfaahinta culeyska processor-ka, ee tiirarka saxda ah - xado

Dhibaatadu waxay soo baxdaa marka la isku dayayo in macluumaadkan laga helo hypervisor. Waxaad isku dayi kartaa inaad saadaaliso inaad xado mashiinka martida loo yahay, tusaale ahaan, adoo isticmaalaya qiyaasta celceliska culeyska (LA) - celceliska qiimaha tirada hababka sugitaanka safka fulinta. Habka loo xisaabiyo cabbirkan ma fududa, laakiin guud ahaan, haddii LA caadiyeeyo tirada threads Processor ay ka badan tahay 1, tani waxay muujinaysaa in server-ka Linux uu wax ka badan yahay.

Waa maxay hababkan oo dhan ayaa sugaya? Jawaabta iska cad waa processor-ka. Laakiin jawaabtu gabi ahaanba sax maaha, sababtoo ah mararka qaarkood processor-ku waa bilaash, laakiin LA wuu ka baxaa miisaanka. Xusuusnow sida NFS u dhacdo iyo sida LA u korto. Isla sidaas oo kale ayaa ku dhici kara saxanka iyo aaladaha kale ee wax gelinta/soo-saarka. Laakiin dhab ahaantii, hababku waxay sugi karaan dhamaadka quful kasta, ha ahaato mid jidheed, oo la xidhiidha aaladda I/O, ama macquul ah, sida mutex. Tan waxa kale oo ka mid ah qufulka heerka qalabka (jawaab isku mid ah oo ka yimaada saxanka), ama macquulka (waxa loogu yeero qufulka asaasiga ah, oo ay ku jiraan farabadan qaybaha, mutex la qabsiga iyo lafdhabarta, semaphores, doorsoomayaasha xaaladaha, qufulka rw, qufulka ipc ...).

Muuqaal kale oo LA waa in loo tixgeliyo celcelis ahaan nidaamka hawlgalka. Tusaale ahaan, 100 habraac ayaa ku tartamaya hal fayl, ka dibna LA=50. Qiimaha weyni wuxuu u ekaan karaa inuu muujinayo in nidaamka hawlgalka uu xun yahay. Laakiin code kale oo qalloocan oo qoran, tani waxay noqon kartaa xaalad caadi ah, inkastoo xaqiiqda ah in kaliya ay xun tahay, iyo hababka kale ee nidaamka qalliinka aan dhib lahayn.

Celcelis ahaan tan awgeed (iyo wax aan ka yarayn hal daqiiqo), go'aaminta wax kasta ee tilmaame LA maaha hawsha ugu faa'iidada badan, oo leh natiijooyin aan la hubin oo kiisas gaar ah. Haddii aad isku daydo inaad ogaato, waxaad ogaan doontaa in maqaallada Wikipedia iyo ilaha kale ee la heli karo ay qeexayaan kiisaska ugu fudud oo keliya, iyada oo aan si qoto dheer loo sharraxin habka. Waxaan u dirayaa qof kasta oo danaynaya, mar labaad, halkan u jooga Brendan Gregg  - raac xiriirka hoose. Yaa caajis ah inuu ku hadlo Ingiriisiga - tarjumaadda maqaalkiisa caanka ah ee ku saabsan LA.

3. Saamaynta gaarka ah

Haddaba aan eegno kiisaskii ugu waaweynaa ee xatooyada ah ee aan la kulannay. Waxaan kuu sheegi doonaa sida ay u raacaan dhammaan kuwa kor ku xusan iyo sida ay ula xiriiraan tilmaamayaasha hypervisor-ka.

Dib u warshadaynta. Tan ugu fudud uguna caansan: hypervisor-ka ayaa dib loo isticmaalay. Runtii, waxaa jira wax badan oo ka mid ah mashiinnada farsamada gacanta, isticmaalka processor sare oo gudaha ah, tartan badan, isticmaalka LA waa in ka badan 1 (caadiyan by threads processor). Wax kasta oo ku jira dhammaan mashiinnada farsamada gacanta ayaa hoos u dhacaya. Xatooyada laga soo qaado hypervisor ayaa sidoo kale sii kordheysa, waxaa lagama maarmaan ah in dib loo qaybiyo culeyska ama la xiro qof. Guud ahaan, wax walba waa macquul oo la fahmi karo.

Paravirtualization vs. Hal tusaale. Hal mashiin oo dalwad ah ayaa ku jira hypervisor-ka; waxay cuntaa qayb yar oo ka mid ah, laakiin waxay soo saartaa culeys weyn oo I/O ah, tusaale ahaan saxanka. Oo meel laga soo xado wax yar ayaa ka dhex muuqda, ilaa 10% (sida ku cad dhawr tijaabo).

Kiisku waa mid xiiso leh. Xatooyadu halkan ayay si sax ah uga soo muuqataa sababtoo ah xannibaadda heerka darawallada curyaamiinta ah. Kala goyn ayaa lagu dhex abuuray mashiinka dalwaddii, oo uu farsameeyay dirawalka oo loo diraa hypervisor-ga. Iyadoo ay ugu wacan tahay xakameynta joojinta ee hypervisor, mashiinka farsamada waxay u egtahay codsi la soo diray, waxay diyaar u tahay fulinta waxayna sugeysaa processor-ka, laakiin lama siin waqti processor. Gabadha casriga ah waxay u malaynaysaa in wakhtigan la xaday.

Tani waxay dhacdaa wakhtiga kaydinta la soo diro, waxay gashaa booska kernel ee hypervisor, waxaanan bilaabeynaa sugitaanka. Inkasta oo, laga soo bilaabo aragtida mashiinka farsamada, waa inuu isla markiiba soo noqdaa. Sidaa darteed, marka loo eego algorithm xisaabinta xatooyada, waqtigan waxaa loo arkaa in la xaday. Inta badan, xaaladdan waxaa laga yaabaa inay jiraan habab kale (tusaale ahaan, habaynta qaar ka mid ah wicitaannada kale ee sys), laakiin waa inaysan ka duwanaanin.

Jadwalka iyo mashiinada aadka loo raray. Marka mid ka mid ah mishiinada farsamada gacanta uu ku dhaco wax ka badan kuwa kale, tani waxaa sabab u ah jadwalka. Mar kasta oo hannaanku bato processor-ka, sida ugu dhaqsaha badan ayuu jadwalku u saarayaa si kuwa kale ay iyaguna u shaqeeyaan. Haddii mashiinka dalwaddu wax yar cuno, si dhib leh ayay u arki doontaa xatooyo: geeddi-socodkeedu si daacad ah ayuu u fadhiistay oo sugayay, waxaan u baahanahay inaan siino waqti dheeraad ah. Haddii mashiinka farsamada gacanta uu soo saaro culeyska ugu badan ee dhammaan xudunta, inta badan waa laga saaraa processor-ka waxayna isku dayaan inaysan siin waqti badan.

Xitaa way ka sii daran tahay marka hababka gudaha mashiinka farsamada ay isku dayaan inay helaan processor dheeraad ah sababtoo ah ma awoodaan inay la qabsadaan xogta xogta. Kadibna nidaamka hawlgalka ee hypervisor-ka, sababtoo ah hagaajinta daacadda ah, waxay ku siin doontaa wakhti yar oo yar oo processor ah. Habkani wuxuu u dhacaa sida baraf-beelka oo kale, oo wax xadaya wuxuu u boodaa cirka, in kasta oo mashiinnada kale ee farsamada laga yaabo inay ogaadaan. Iyo xudunta badan, ayaa ka sii dareysa mashiinka ay saameeyeen. Marka la soo koobo, mashiinnada farsamada gacanta ee aadka loo raray ee leh koofiyado badan ayaa dhibaatada ugu badan soo gaartaa.

Low LA, laakiin waxaa jira xad. Haddii LA ay ku dhowdahay 0,7 (taasi waa, hypervisor-ku wuxuu u muuqdaa mid la shubay), laakiin xatooyada waxaa lagu arkay mashiinnada farsamada gacanta:

  • Ikhtiyaarka leh paravirtualization horeba kor loogu sharaxay. Mashiinka dalwaddu wuxuu heli karaa cabbirro muujinaya xatooyo, in kasta oo hypervisor-ku fiican yahay. Marka loo eego natiijooyinka tijaabooyinkayaga, doorashadan xatooyada kama badna 10% waana inaysan saameyn weyn ku yeelan waxqabadka codsiyada gudaha mashiinka farsamada.
  • Halbeegga LA si qaldan ayaa loo xisaabiyaa. Si sax ah, wakhti kasta oo gaar ah ayaa loo xisaabiyaa si sax ah, laakiin marka la isku celceliyo in ka badan hal daqiiqo waxay soo baxdaa in la dhayalsado. Tusaale ahaan, haddii hal mishiin dalool ah saddexdii meelood meel ka mid ah hypervisor-ku uu wada baabbi'iyo dhammaan soo-saarayaasheeda nus daqiiqo, markaa LA daqiiqaddii kor-u-qaadista waxay noqon doontaa 0,15; afar mashiinnada farsamada gacanta ee isku mar shaqeeya waxay siin doonaan 0,6. Xaqiiqda ah in nus daqiiqo mid kasta oo iyaga ka mid ah uu jiray xatooyo duurjoog ah 25% marka loo eego tilmaame LA mar dambe lama soo saari karo.
  • Mar labaad, sababtoo ah jadwalka oo go'aansaday in qof uu cuno cunto badan oo u oggolow qof inuu sugo. Isla mar ahaantaana, waxaan bedeli doonaa macnaha guud, xakameyn doonaa joojinta oo aan daryeesho waxyaabaha kale ee muhiimka ah ee nidaamka. Natiijo ahaan, qaar ka mid ah mashiinnada farsamada gacanta ma arkaan wax dhibaato ah, halka kuwa kalena ay la kulmaan hoos u dhac ku yimaada waxqabadka.

4. Qalloocyada kale

Waxaa jira hal milyan oo sababood oo dheeraad ah oo lagu qalloocinayo soo celinta cadaaladda ah ee wakhtiga processor-ka ee mashiinka farsamada. Tusaale ahaan, hyperthreading iyo NUMA waxay soo bandhigaan dhibaatooyin xagga xisaabinta. Waxay si buuxda u jahawareeraan doorashada kernel si ay u fuliyaan habka, sababtoo ah jadwalku wuxuu isticmaalaa isku-xirnaanta - miisaanka, taas oo xisaabinta xitaa aad u adag marka la beddelo macnaha guud.

Waxaa jira qallooc ay sabab u tahay tignoolajiyada sida kor u qaadista turbo ama, taa lidkeeda, habka badbaadinta tamarta, kaas oo, marka la xisaabinayo ka faa'iidaysiga, si macmal ah u kordhin kara ama hoos u dhigi kara inta jeer ama xitaa jeex wakhtiga serverka. Awood u yeelashada kor u qaadista turbo waxay yaraynaysaa waxqabadka hal dun processor sababtoo ah korodhka waxqabadka mid kale. Waqtigan xaadirka ah, macluumaadka ku saabsan inta jeer ee processor-ka looma gudbiyo mashiinka farsamada, waxayna aaminsan tahay in qof uu xado waqtigeeda (tusaale ahaan, waxay codsatay 2 GHz, laakiin waxay heshay kala badh).

Guud ahaan, waxaa jiri kara sababo badan oo qalloocan. Waxaad ka heli kartaa wax kale nidaam gaar ah. Way fiicantahay in lagu bilaabo buugaagta aan ku siiyay xiriirinta sare, iyo ka soo celinta tirakoobka hypervisor-ka adoo isticmaalaya utilities sida perf, sysdig, systemtap, kuwaas oo daraasiin.

5. Gabagabo

  1. Xaddi xaddi ah ayaa laga yaabaa inuu dhaco sababtoo ah paravirtualization, waxaana loo qaadan karaa wax caadi ah. Waxay ku qoraan internetka in qiimahani uu noqon karo 5-10%. Waxay kuxirantahay codsiyada gudaha mashiinka farsamada iyo culeyska ay ku dhejiso aaladaha jir ahaaneed. Halkan waxaa muhiim ah in fiiro gaar ah loo yeesho sida codsiyadu u dareemayaan mashiinnada farsamada gacanta.
  2. Saamiga culeyska saaran hypervisor-ka iyo xadista gudaha mashiinka farsamada mar walba si cad iskuma xirna; Labada qiyaasood ee xatooyada waxay noqon karaan kuwo khalad ah xaalado gaar ah oo culeysyo kala duwan ku jira.
  3. Jadwaliyehu waxa uu leeyahay dabeecad xun oo ku wajahan hababka wax badan weydiiya. Wuxuu isku dayaa inuu wax yar siiyo kuwa wax badan weydiista. Mashiinnada farsamada gacanta ee waaweyn waa shar.
  4. Xatooyo yar waxay noqon kartaa caadada xitaa iyada oo aan la helin paravirtualization (iyadoo la tixgelinayo culeyska gudaha mashiinka farsamada, sifooyinka culeyska deriska, qaybinta culeyska ee dunta iyo arrimo kale).
  5. Haddii aad rabto in aad ogaato in la xado nidaam gaar ah, waa inaad sahamisaa doorashooyin kala duwan, ururin qiyaasaha, si taxadar leh u falanqee oo ka feker sida si siman loo qaybiyo culeyska. Ka leexashada kiis kasta waa suurtagal, kaas oo ay tahay in si tijaabo ah loo xaqiijiyo ama lagu eego kernel debugger.

Source: www.habr.com

Add a comment