Dwyn: sy'n dwyn amser CPU o beiriannau rhithwir

Dwyn: sy'n dwyn amser CPU o beiriannau rhithwir

Helo! Rwyf am ddweud wrthych yn syml am fecaneg dwyn y tu mewn i beiriannau rhithwir ac am rai arteffactau anamlwg y gwnaethom lwyddo i'w darganfod yn ystod ei hymchwil, y bu'n rhaid i mi blymio iddynt fel cyfarwyddwr technegol platfform cwmwl Atebion Cwmwl Mail.ru. Mae'r platfform yn rhedeg ar KVM.

Amser dwyn CPU yw'r amser pan nad yw'r peiriant rhithwir yn derbyn adnoddau prosesydd ar gyfer ei weithredu. Dim ond mewn systemau gweithredu gwesteion mewn amgylcheddau rhithwiroli y caiff yr amser hwn ei gyfrif. Mae’r rhesymau dros ble mae’r adnoddau mwyaf dyranedig hyn yn mynd, fel mewn bywyd, yn amwys iawn. Ond fe benderfynon ni ei ddarganfod, a hyd yn oed cynnal nifer o arbrofion. Nid ein bod bellach yn gwybod popeth am ddwyn, ond byddwn yn dweud rhywbeth diddorol wrthych nawr.

1. Beth yw lladrata

Felly, mae dwyn yn fetrig sy'n nodi diffyg amser prosesydd ar gyfer prosesau y tu mewn i beiriant rhithwir. Fel y disgrifiwyd yn y clwt cnewyllyn KVMLlechwraidd yw'r amser y mae'r hypervisor yn gweithredu prosesau eraill ar yr OS gwesteiwr er ei fod wedi ciwio'r broses peiriant rhithwir ar gyfer gweithredu. Hynny yw, mae dwyn yn cael ei gyfrifo fel y gwahaniaeth rhwng yr amser pan fydd y broses yn barod i'w gweithredu a'r amser pan ddyrennir amser prosesydd i'r broses.

Mae cnewyllyn y peiriant rhithwir yn derbyn y metrig dwyn o'r hypervisor. Ar yr un pryd, nid yw'r hypervisor yn nodi'n union pa brosesau eraill y mae'n eu rhedeg, mae'n dweud yn syml β€œtra fy mod yn brysur, ni allaf roi amser i chi.” Ar KVM, ychwanegwyd at gefnogaeth ar gyfer cyfrifo dwyn clytiau. Mae dau bwynt allweddol yma:

  • Mae'r peiriant rhithwir yn dysgu am ddwyn o'r hypervisor. Hynny yw, o safbwynt colledion, ar gyfer prosesau ar y peiriant rhithwir ei hun mae hwn yn fesuriad anuniongyrchol a all fod yn destun ystumiadau amrywiol.
  • Nid yw'r hypervisor yn rhannu gwybodaeth gyda'r peiriant rhithwir am beth arall y mae'n ei wneud - y prif beth yw nad yw'n neilltuo amser iddo. Oherwydd hyn, ni all y peiriant rhithwir ei hun ganfod ystumiadau yn y dangosydd dwyn, y gellid eu hasesu yn Γ΄l natur prosesau cystadleuol.

2. Beth sy'n effeithio ar ddwyn

2.1. Dwyn cyfrifiad

Yn y bΓ΄n, mae dwyn yn cael ei gyfrifo tua'r un peth Γ’'r amser defnyddio CPU arferol. Nid oes llawer o wybodaeth am sut yr ystyrir ailgylchu. Mae'n debyg oherwydd bod y rhan fwyaf o bobl yn ystyried y cwestiwn hwn yn amlwg. Ond mae peryglon yma hefyd. I ymgyfarwyddo Γ’'r broses hon, gallwch ddarllen erthygl gan Brendan Gregg: byddwch yn dysgu am lawer o arlliwiau wrth gyfrifo defnydd ac am sefyllfaoedd pan fydd y cyfrifiad hwn yn wallus am y rhesymau canlynol:

  • Mae'r prosesydd yn gorboethi, gan achosi i gylchredau sgipio.
  • Galluogi / analluogi hwb turbo, sy'n newid cyflymder cloc y prosesydd.
  • Newid yn hyd y darn amser sy'n digwydd wrth ddefnyddio technolegau arbed pΕ΅er prosesydd fel SpeedStep.
  • Y broblem gyda chyfrifo'r cyfartaledd: gall amcangyfrif defnydd un munud o 80% guddio byrstio tymor byr o 100%.
  • Mae clo troelli yn achosi i'r prosesydd gael ei adennill, ond nid yw'r broses defnyddiwr yn gweld unrhyw gynnydd wrth ei weithredu. O ganlyniad, bydd y defnydd prosesydd wedi'i gyfrifo gan y broses yn gant y cant, er na fydd y broses yn cymryd amser prosesydd yn gorfforol.

Nid wyf wedi dod o hyd i erthygl yn disgrifio cyfrifiad tebyg ar gyfer dwyn (os ydych chi'n gwybod, rhannwch ef yn y sylwadau). Ond, a barnu yn Γ΄l y cod ffynhonnell, mae'r mecanwaith cyfrifo yr un fath ag ar gyfer ailgylchu. Yn syml, ychwanegir cownter arall yn y cnewyllyn, yn uniongyrchol ar gyfer y broses KVM (proses peiriant rhithwir), sy'n cyfrif hyd y broses KVM yn aros am amser CPU. Mae'r cownter yn cymryd gwybodaeth am y prosesydd o'i fanyleb ac yn gwirio a yw ei holl diciau'n cael eu defnyddio gan y broses peiriant rhithwir. Os dyna'r cyfan, yna tybiwn mai dim ond yn y broses peiriant rhithwir yr oedd y prosesydd wedi'i feddiannu. Fel arall, rydym yn hysbysu bod y prosesydd yn gwneud rhywbeth arall, ymddangosodd dwyn.

Mae'r broses cyfrif dwyn yn destun yr un problemau Γ’ chyfrif ailgylchu rheolaidd. Nid dweud bod problemau o'r fath yn ymddangos yn aml, ond maent yn edrych yn ddigalon.

2.2. Mathau o rithwiroli ar KVM

Yn fras, mae tri math o rithwiroli, a chefnogir pob un ohonynt gan KVM. Efallai y bydd mecanwaith dwyn yn dibynnu ar y math o rithwiroli.

Darllediad. Yn yr achos hwn, mae gweithrediad y system weithredu peiriant rhithwir gyda dyfeisiau hypervisor corfforol yn digwydd rhywbeth fel hyn:

  1. Mae'r system weithredu gwestai yn anfon gorchymyn i'w ddyfais westai.
  2. Mae'r gyrrwr dyfais gwadd yn derbyn y gorchymyn, yn cynhyrchu cais am BIOS y ddyfais ac yn ei anfon at yr hypervisor.
  3. Mae'r broses hypervisor yn trosi gorchymyn i orchymyn ar gyfer y ddyfais gorfforol, gan ei gwneud, ymhlith pethau eraill, yn fwy diogel.
  4. Mae gyrrwr y ddyfais gorfforol yn derbyn y gorchymyn wedi'i addasu ac yn ei anfon at y ddyfais gorfforol ei hun.
  5. Mae canlyniadau gweithredu gorchmynion yn mynd yn Γ΄l ar hyd yr un llwybr.

Mantais cyfieithu yw ei fod yn caniatΓ‘u ichi efelychu unrhyw ddyfais ac nid oes angen paratoad arbennig ar gnewyllyn y system weithredu. Ond mae'n rhaid i chi dalu am hyn, yn gyntaf oll, mewn cyflymder.

Rhithwiroli caledwedd. Yn yr achos hwn, mae'r ddyfais ar y lefel caledwedd yn deall gorchmynion o'r system weithredu. Dyma'r ffordd gyflymaf a gorau. Ond, yn anffodus, nid yw'n cael ei gefnogi gan yr holl ddyfeisiau corfforol, hypervisors a systemau gweithredu gwestai. Ar hyn o bryd, y prif ddyfeisiau sy'n cefnogi rhithwiroli caledwedd yw proseswyr.

Para-rithwiroli. Yr opsiwn mwyaf cyffredin ar gyfer rhithwiroli dyfeisiau ar KVM ac yn gyffredinol y modd rhithwiroli mwyaf cyffredin ar gyfer systemau gweithredu gwesteion. Ei hynodrwydd yw bod gwaith gyda rhai is-systemau hypervisor (er enghraifft, gyda'r rhwydwaith neu'r pentwr disg) neu ddyrannu tudalennau cof yn digwydd gan ddefnyddio'r API hypervisor, heb gyfieithu gorchmynion lefel isel. Anfantais y dull rhithwiroli hwn yw bod yn rhaid addasu cnewyllyn y system weithredu gwestai fel y gall gyfathrebu Γ’'r hypervisor gan ddefnyddio'r API hwn. Ond mae hyn fel arfer yn cael ei ddatrys trwy osod gyrwyr arbennig ar y system weithredu gwestai. Yn KVM gelwir yr API hwn virtio API.

Gyda paravirtualization, o'i gymharu Γ’ darlledu, mae'r llwybr i'r ddyfais gorfforol yn cael ei leihau'n sylweddol trwy anfon gorchmynion yn uniongyrchol o'r peiriant rhithwir i'r broses hypervisor ar y gwesteiwr. Mae hyn yn caniatΓ‘u ichi gyflymu gweithrediad yr holl gyfarwyddiadau y tu mewn i'r peiriant rhithwir. Yn KVM, gwneir hyn gan yr API virtio, sydd ond yn gweithio ar gyfer rhai dyfeisiau, megis rhwydwaith neu addasydd disg. Dyma pam mae gyrwyr virtio yn cael eu gosod y tu mewn i beiriannau rhithwir.

Anfantais y cyflymiad hwn yw nad yw pob proses sy'n rhedeg y tu mewn i'r peiriant rhithwir yn aros y tu mewn iddo. Mae hyn yn creu rhai effeithiau arbennig a all arwain at silio wrth ddwyn. Rwy'n argymell dechrau astudiaeth fanwl o'r mater hwn gyda API ar gyfer rhith I/O: virtio.

2.3. "Teg" amserlennu

Mae peiriant rhithwir ar hypervisor, mewn gwirionedd, yn broses gyffredin sy'n ufuddhau i gyfreithiau amserlennu (dosbarthiad adnoddau rhwng prosesau) yn y cnewyllyn Linux, felly gadewch i ni edrych yn agosach arno.

Mae Linux yn defnyddio'r hyn a elwir yn CFS, Completely Fair Scheduler, sydd wedi dod yn drefnydd rhagosodedig ers cnewyllyn 2.6.23. I ddeall yr algorithm hwn, gallwch ddarllen y Linux Kernel Architecture neu'r cod ffynhonnell. Hanfod CFS yw dosbarthu amser prosesydd rhwng prosesau yn dibynnu ar hyd eu gweithredu. Po fwyaf o amser CPU y mae proses ei angen, y lleiaf o amser CPU y mae'n ei dderbyn. Mae hyn yn sicrhau bod yr holl brosesau'n cael eu gweithredu'n "weddol" - fel nad yw un broses yn meddiannu'r holl broseswyr yn gyson, a gall prosesau eraill hefyd weithredu.

Weithiau mae'r patrwm hwn yn arwain at arteffactau diddorol. Mae'n debyg bod defnyddwyr Linux amser hir yn cofio rhewi golygydd testun rheolaidd ar fwrdd gwaith wrth redeg cymwysiadau sy'n defnyddio llawer o adnoddau fel casglwr. Digwyddodd hyn oherwydd bod tasgau nad oeddent yn defnyddio llawer o adnoddau mewn cymwysiadau bwrdd gwaith yn cystadlu Γ’ thasgau adnoddau-ddwys, fel y casglwr. Mae CFS o'r farn bod hyn yn annheg, felly mae'n atal y golygydd testun o bryd i'w gilydd ac yn gadael i'r prosesydd ymdrin Γ’ thasgau'r casglwr. Cywirwyd hyn gan ddefnyddio mecanwaith sched_autogroup, ond erys llawer o nodweddion eraill o ddosbarthiad amser prosesydd rhwng tasgau. A dweud y gwir, nid stori am ba mor ddrwg yw popeth yn CFS mo hon, ond ymgais i dynnu sylw at y ffaith nad dosbarthu amser prosesydd yn β€œdeg” yw’r dasg fwyaf dibwys.

Pwynt pwysig arall yn y trefnydd yw preemption. Mae hyn yn angenrheidiol i gychwyn y broses snickering o'r prosesydd a gadael i eraill weithio. Gelwir y broses alldaflu yn newid cyd-destun. Yn yr achos hwn, mae cyd-destun cyfan y dasg yn cael ei gadw: cyflwr y pentwr, cofrestrau, ac ati, ac ar Γ΄l hynny anfonir y broses i aros, ac mae un arall yn cymryd ei le. Mae hwn yn weithrediad drud i'r OS ac anaml y caiff ei ddefnyddio, ond nid oes unrhyw beth o'i le yn ei hanfod. Gall newid cyd-destun aml ddangos problem yn yr OS, ond fel arfer mae'n barhaus ac nid yw'n dynodi unrhyw beth yn benodol.

Mae angen stori mor hir i esbonio un ffaith: po fwyaf o adnoddau prosesydd y mae proses yn ceisio eu defnyddio mewn trefnydd Linux gonest, y cyflymaf y bydd yn cael ei stopio fel y gall prosesau eraill weithio hefyd. Mae p'un a yw hyn yn gywir ai peidio yn gwestiwn cymhleth y gellir ei ddatrys yn wahanol o dan lwythi gwahanol. Yn Windows, tan yn ddiweddar, roedd y trefnydd yn canolbwyntio ar brosesu cymwysiadau bwrdd gwaith Γ’ blaenoriaeth, a allai achosi i brosesau cefndir rewi. Roedd gan Sun Solaris bum dosbarth gwahanol o amserlenwyr. Pan wnaethom lansio rhithwiroli, fe wnaethom ychwanegu chweched un, Trefnydd cyfran deg, oherwydd nad oedd y pump blaenorol yn gweithio'n ddigonol gyda rhithwiroli Parthau Solaris. Rwy'n argymell dechrau astudiaeth fanwl o'r mater hwn gyda llyfrau fel Solaris Internals: Solaris 10 a OpenSolaris Kernel Architecture neu Deall y Cnewyllyn Linux.

2.4. Sut i fonitro dwyn?

Mae monitro dwyn y tu mewn i beiriant rhithwir, fel unrhyw fetrig prosesydd arall, yn syml: gallwch ddefnyddio unrhyw offeryn metrigau prosesydd. Y prif beth yw bod y peiriant rhithwir ar Linux. Am ryw reswm nid yw Windows yn darparu'r wybodaeth hon i'w ddefnyddwyr. πŸ™

Dwyn: sy'n dwyn amser CPU o beiriannau rhithwir
Allbwn y gorchymyn uchaf: manylion y llwyth prosesydd, yn y golofn dde - dwyn

Mae'r anhawster yn codi wrth geisio cael y wybodaeth hon gan yr hypervisor. Gallwch geisio rhagweld dwyn ar y peiriant gwesteiwr, er enghraifft, gan ddefnyddio'r paramedr Cyfartaledd Llwyth (LA) - gwerth cyfartalog nifer y prosesau sy'n aros yn y ciw gweithredu. Nid yw'r dull ar gyfer cyfrifo'r paramedr hwn yn syml, ond yn gyffredinol, os yw LA wedi'i normaleiddio gan nifer yr edafedd prosesydd yn fwy nag 1, mae hyn yn dangos bod y gweinydd Linux wedi'i orlwytho Γ’ rhywbeth.

Beth mae'r holl brosesau hyn yn aros amdano? Yr ateb amlwg yw'r prosesydd. Ond nid yw'r ateb yn gwbl gywir, oherwydd weithiau mae'r prosesydd yn rhad ac am ddim, ond mae LA yn mynd oddi ar y raddfa. Cofiwch sut mae NFS yn disgyn i ffwrdd a sut mae LA yn tyfu. Gall yr un peth ddigwydd gyda disg a dyfeisiau mewnbwn/allbwn eraill. Ond mewn gwirionedd, gall prosesau aros am ddiwedd unrhyw glo, naill ai'n gorfforol, yn gysylltiedig Γ’ dyfais I/O, neu'n rhesymegol, fel mutex. Mae hyn hefyd yn cynnwys cloi ar lefel y caledwedd (yr un ymateb gan y ddisg), neu resymeg (yr hyn a elwir yn cyntefig cloi, sy'n cynnwys criw o endidau, mutex addasol a sbin, semaffores, newidynnau cyflwr, cloeon rw, cloeon ipc ...).

Nodwedd arall o ALl yw ei fod yn cael ei ystyried fel cyfartaledd system weithredu. Er enghraifft, mae 100 o brosesau yn cystadlu am un ffeil, ac yna LA=50. Mae'n ymddangos bod gwerth mor fawr yn dangos bod y system weithredu yn ddrwg. Ond ar gyfer cod ysgrifenedig cam arall, gall hyn fod yn gyflwr arferol, er gwaethaf y ffaith mai dim ond ei fod yn ddrwg, ac nid yw prosesau eraill yn y system weithredu yn dioddef.

Oherwydd y cyfartaledd hwn (ac mewn dim llai na munud), nid pennu unrhyw beth yn Γ΄l dangosydd yr ALl yw'r dasg sy'n rhoi'r boddhad mwyaf, gyda chanlyniadau ansicr iawn mewn achosion penodol. Os ceisiwch ei ddarganfod, fe welwch fod erthyglau ar Wikipedia ac adnoddau eraill sydd ar gael yn disgrifio'r achosion symlaf yn unig, heb esboniad dwfn o'r broses. Anfonaf bawb sydd Γ’ diddordeb, unwaith eto, yma i Brendan Gregg  - dilynwch y dolenni isod. Pwy sy'n rhy ddiog i siarad Saesneg - cyfieithiad o'i erthygl boblogaidd am LA.

3. Effeithiau arbennig

Nawr gadewch i ni edrych ar y prif achosion o ddwyn y daethom ar eu traws. Fe ddywedaf wrthych sut maen nhw'n dilyn o bob un o'r uchod a sut maen nhw'n berthnasol i'r dangosyddion ar yr hypervisor.

Ailgylchu. Y symlaf a'r mwyaf cyffredin: mae'r hypervisor wedi'i ailddefnyddio. Yn wir, mae yna lawer o beiriannau rhithwir yn rhedeg, defnydd prosesydd uchel y tu mewn iddynt, llawer o gystadleuaeth, mae defnydd ALl yn fwy nag 1 (wedi'i normaleiddio gan edafedd prosesydd). Mae popeth y tu mewn i bob peiriant rhithwir yn arafu. Mae dwyn a drosglwyddir o'r hypervisor hefyd yn tyfu, mae angen ailddosbarthu'r llwyth neu ddiffodd rhywun. Yn gyffredinol, mae popeth yn rhesymegol ac yn ddealladwy.

Para-rithwiroli yn erbyn Achosion Sengl. Dim ond un peiriant rhithwir sydd ar yr hypervisor; mae'n defnyddio rhan fach ohono, ond yn cynhyrchu llwyth I/O mawr, er enghraifft ar ddisg. Ac o rywle mae dwyn bach yn ymddangos ynddo, hyd at 10% (fel y dangosir gan sawl arbrawf).

Mae'r achos yn ddiddorol. Mae Steal yn ymddangos yma yn union oherwydd blocio ar lefel gyrwyr pararhithwir. Mae ymyriad yn cael ei greu y tu mewn i'r peiriant rhithwir, ei brosesu gan y gyrrwr a'i anfon at y hypervisor. Oherwydd y driniaeth ymyrraeth ar y hypervisor, ar gyfer y peiriant rhithwir mae'n edrych fel cais a anfonwyd, mae'n barod i'w weithredu ac yn aros am y prosesydd, ond ni roddir amser prosesydd iddo. Mae'r ferch rithwir yn meddwl bod yr amser hwn wedi'i ddwyn.

Mae hyn yn digwydd ar hyn o bryd mae'r byffer yn cael ei anfon, mae'n mynd i mewn i ofod cnewyllyn y hypervisor, ac rydyn ni'n dechrau aros amdano. Er, o safbwynt y peiriant rhithwir, dylai ddychwelyd ar unwaith. Felly, yn Γ΄l yr algorithm cyfrifo dwyn, ystyrir bod yr amser hwn wedi'i ddwyn. Yn fwyaf tebygol, yn y sefyllfa hon efallai y bydd mecanweithiau eraill (er enghraifft, prosesu rhai galwadau sys eraill), ond ni ddylent fod yn llawer gwahanol.

Trefnydd yn erbyn peiriannau rhithwir llwythog iawn. Pan fydd un peiriant rhithwir yn dioddef o ddwyn mwy nag eraill, mae hyn oherwydd y trefnydd. Po fwyaf y mae proses yn llwytho'r prosesydd, y cynharaf y bydd y trefnydd yn ei gicio allan fel y gall y lleill weithio hefyd. Os bydd y peiriant rhithwir yn defnyddio ychydig, prin y bydd yn gweld dwyn: eisteddodd ei broses yn onest ac aros, mae angen inni roi mwy o amser iddo. Os yw peiriant rhithwir yn cynhyrchu'r llwyth uchaf ar ei holl greiddiau, mae'n aml yn cael ei gicio allan o'r prosesydd ac maen nhw'n ceisio peidio Γ’ rhoi llawer o amser iddo.

Mae hyd yn oed yn waeth pan fydd prosesau y tu mewn i'r peiriant rhithwir yn ceisio cael mwy o brosesydd oherwydd na allant ymdopi Γ’ phrosesu data. Yna bydd y system weithredu ar y hypervisor, oherwydd optimeiddio gonest, yn darparu llai a llai o amser prosesydd. Mae'r broses hon yn digwydd fel eirlithriad, ac yn dwyn neidiau i'r awyr, er mai prin y bydd peiriannau rhithwir eraill yn sylwi arno. A pho fwyaf o greiddiau, y gwaethaf yw'r peiriant yr effeithir arno. Yn fyr, peiriannau rhithwir llwythog iawn gyda llawer o greiddiau sy'n dioddef fwyaf.

LA isel, ond mae yna ddwyn. Os yw LA oddeutu 0,7 (hynny yw, mae'n ymddangos bod y hypervisor wedi'i danlwytho), ond gwelir dwyn y tu mewn i beiriannau rhithwir unigol:

  • Yr opsiwn gyda paravirtualization a ddisgrifiwyd eisoes uchod. Gall y peiriant rhithwir dderbyn metrigau sy'n nodi dwyn, er bod y hypervisor yn iawn. Yn Γ΄l canlyniadau ein harbrofion, nid yw'r opsiwn dwyn hwn yn fwy na 10% ac ni ddylai gael effaith sylweddol ar berfformiad ceisiadau y tu mewn i'r peiriant rhithwir.
  • Cyfrifir paramedr yr ALl yn anghywir. Yn fwy manwl gywir, ar bob eiliad benodol caiff ei gyfrifo'n gywir, ond o'i gyfartaleddu dros un funud mae'n troi allan i fod yn danamcangyfrif. Er enghraifft, os yw un peiriant rhithwir fesul traean o'r hypervisor yn defnyddio ei holl broseswyr am hanner munud yn union, yna bydd LA y funud ar yr hypervisor yn 0,15; bydd pedwar peiriant rhithwir o'r fath yn gweithio ar yr un pryd yn rhoi 0,6. Ac ni ellir tynnu allan y ffaith bod yna ddwyn gwyllt o 25% am hanner munud ar bob un ohonynt yn Γ΄l dangosydd yr ALl bellach.
  • Unwaith eto, oherwydd y trefnydd a benderfynodd fod rhywun yn bwyta gormod a gadael i rywun aros. Yn y cyfamser, byddaf yn newid y cyd-destun, yn trin ymyriadau ac yn gofalu am bethau system pwysig eraill. O ganlyniad, nid yw rhai peiriannau rhithwir yn gweld unrhyw broblemau, tra bod eraill yn profi dirywiad perfformiad difrifol.

4. Afluniadau eraill

Mae miliwn yn fwy o resymau dros ystumio dychweliad teg amser prosesydd ar beiriant rhithwir. Er enghraifft, mae hyperthreading ac NUMA yn cyflwyno anawsterau i gyfrifiadau. Maent yn drysu'n llwyr y dewis o gnewyllyn ar gyfer gweithredu'r broses, oherwydd bod y trefnydd yn defnyddio cyfernodau - pwysau, sy'n gwneud y cyfrifiad hyd yn oed yn fwy anodd wrth newid y cyd-destun.

Mae afluniadau oherwydd technolegau fel hwb turbo neu, i'r gwrthwyneb, modd arbed ynni, a all, wrth gyfrifo'r defnydd, gynyddu neu leihau amlder neu hyd yn oed yr amser ar y gweinydd yn artiffisial. Mae galluogi hwb turbo yn lleihau perfformiad un edefyn prosesydd oherwydd cynnydd ym mherfformiad un arall. Ar hyn o bryd, nid yw gwybodaeth am amlder presennol y prosesydd yn cael ei drosglwyddo i'r peiriant rhithwir, ac mae'n credu bod rhywun yn dwyn ei amser (er enghraifft, gofynnodd am 2 GHz, ond derbyniodd hanner hynny).

Yn gyffredinol, gall fod llawer o resymau dros ystumio. Efallai y byddwch chi'n dod o hyd i rywbeth arall ar system benodol. Mae'n well dechrau gyda'r llyfrau y rhoddais ddolenni iddynt uchod, ac adalw ystadegau o'r hypervisor gan ddefnyddio cyfleustodau fel perf, sysdig, systemtap, y mae dwsinau.

5. Casgliadau

  1. Gall rhywfaint o ddwyn ddigwydd oherwydd paravirtualization, a gellir ei ystyried yn normal. Maent yn ysgrifennu ar y Rhyngrwyd y gall y gwerth hwn fod yn 5-10%. Yn dibynnu ar y cymwysiadau y tu mewn i'r peiriant rhithwir ac ar y llwyth y mae'n ei roi ar ei ddyfeisiau corfforol. Yma mae'n bwysig rhoi sylw i sut mae cymwysiadau'n teimlo y tu mewn i beiriannau rhithwir.
  2. Nid yw cymhareb y llwyth ar y hypervisor a dwyn y tu mewn i'r peiriant rhithwir bob amser yn rhyngberthynol glir; gall y ddau amcangyfrif o ddwyn fod yn wallus mewn sefyllfaoedd penodol o dan lwythi gwahanol.
  3. Mae gan y trefnydd agwedd wael tuag at brosesau sy'n gofyn llawer. Mae'n ceisio rhoi llai i'r rhai sy'n gofyn am fwy. Peiriannau rhithwir mawr yn ddrwg.
  4. Gall ychydig o ddwyn fod yn norm hyd yn oed heb baravirtualization (gan gymryd i ystyriaeth y llwyth y tu mewn i'r peiriant rhithwir, nodweddion llwyth y cymdogion, dosbarthiad llwyth ar draws edafedd a ffactorau eraill).
  5. Os ydych chi am ddarganfod lladrata mewn system benodol, mae'n rhaid i chi archwilio opsiynau amrywiol, casglu metrigau, eu dadansoddi'n ofalus a meddwl sut i ddosbarthu'r llwyth yn gyfartal. Mae gwyriadau o unrhyw achosion yn bosibl, y mae'n rhaid eu cadarnhau'n arbrofol neu edrych arnynt yn y dadfygiwr cnewyllyn.

Ffynhonnell: hab.com

Ychwanegu sylw