Дуздӣ: кӣ вақти протсессорро аз мошинҳои виртуалӣ медуздад

Дуздӣ: кӣ вақти протсессорро аз мошинҳои виртуалӣ медуздад

Салом! Ман мехоҳам ба шумо бо ибораҳои оддӣ дар бораи механикаи дуздии дохили мошинҳои виртуалӣ ва дар бораи баъзе артефактҳои норавшан нақл кунам, ки мо тавонистем дар ҷараёни таҳқиқоти худ дарёфтем, ки ман бояд ҳамчун директори техникии платформаи абрӣ ба онҳо ғарқ шавам. Mail.ru ҳалли абрӣ. Платформа дар KVM кор мекунад.

Вақти дуздии CPU вақтест, ки дар давоми он мошини виртуалӣ захираҳои протсессорро барои иҷрои он қабул намекунад. Ин вақт танҳо дар системаҳои оператсионии меҳмонон дар муҳити виртуализатсия ҳисоб карда мешавад. Сабабхои ба кучо рафтани ин захирахои бештар таксимшуда, чун дар хаёт, хеле норавшананд. Аммо мо тасмим гирифтем, ки онро муайян кунем ва ҳатто як қатор таҷрибаҳо гузаронидем. Ин на он аст, ки мо ҳоло ҳама чизро дар бораи дуздӣ медонем, аммо мо ҳоло ба шумо чизи ҷолибро мегӯям.

1. Дуздӣ чист

Ҳамин тавр, дуздӣ як метрикаест, ки набудани вақти протсессорро барои равандҳои дохили мошини виртуалӣ нишон медиҳад. Чунон ки тавсиф карда шудааст дар ячейкаи ядрои KVMStealth вақтест, ки дар он гипервизор равандҳои дигарро дар ОС мизбон иҷро мекунад, гарчанде ки он раванди мошини виртуалиро барои иҷро дар навбат гузоштааст. Яъне, дуздӣ ҳамчун фарқияти байни вақти омодагии раванд барои иҷро ва вақте, ки ба раванд ҷудо карда мешавад, ҳисоб карда мешавад.

Ядро мошини виртуалӣ метри дуздиро аз гипервизор мегирад. Ҳамзамон, гипервизор дақиқ муайян намекунад, ки кадом равандҳои дигар иҷро мешаванд, вай танҳо мегӯяд: "дар ҳоле ки ман банд ҳастам, ман ба шумо вақт дода наметавонам." Дар KVM, дастгирии ҳисобкунии дуздӣ ба он илова карда шудааст часпакхо. Дар ин ҷо ду нуқтаи асосӣ вуҷуд дорад:

  • Мошини виртуалӣ дар бораи дуздӣ аз гипервизор ёд мегирад. Яъне, аз нуқтаи назари талафот, барои равандҳои худи мошини виртуалӣ ин як андозагирии ғайримустақим аст, ки метавонад ба таҳрифҳои гуногун дучор шавад.
  • Гипервизор маълумотро бо мошини виртуалӣ дар бораи боз чӣ кор карданаш мубодила намекунад - чизи асосӣ ин аст, ки вай ба он вақт ҷудо намекунад. Аз ин сабаб, худи мошини маҷозӣ таҳрифҳоро дар нишондиҳандаи дуздӣ муайян карда наметавонад, ки онҳоро бо табиати равандҳои рақобаткунанда арзёбӣ кардан мумкин аст.

2. Ба дуздӣ чӣ таъсир мерасонад

2.1. Ҳисоби дуздӣ

Аслан, дуздӣ тақрибан бо вақти муқаррарии истифодаи CPU ҳисоб карда мешавад. Дар бораи чӣ гуна коркарди такрорӣ маълумоти зиёд мавҷуд нест. Шояд барои он ки аксарият ин саволро равшан мешуморанд. Аммо дар ин чо камбудихо хам хастанд. Барои шинос шудан бо ин раванд, шумо метавонед хонед мақолаи Брендан Грегг: шумо дар бораи бисёр нозукиҳо ҳангоми ҳисоб кардани истифода ва дар бораи ҳолатҳое, ки ин ҳисоб бо сабабҳои зерин хато мешавад, хоҳед фаҳмид:

  • Протсессор аз ҳад зиёд гарм мешавад, ки боиси гузаштани давраҳо мегардад.
  • Фаъолсозии турборо фаъол/хомӯш кунед, ки басомади соати протсессорро тағйир медиҳад.
  • Тағйир дар дарозии буридаи вақт, ки ҳангоми истифодаи технологияҳои каммасрафи протсессор ба монанди SpeedStep рух медиҳад.
  • Мушкилот бо ҳисобкунии миёна: ҳисоб кардани истифодаи як дақиқа дар 80% метавонад таркиши кӯтоҳмуддати 100% -ро пинҳон кунад.
  • Қулфи чарх боиси барқарор шудани протсессор мегардад, аммо раванди корбар ҳеҷ гуна пешрафтро дар иҷрои он намебинад. Дар натиҷа, истифодаи ҳисобшудаи протсессори ин раванд сад фоизро ташкил медиҳад, гарчанде ки ин раванд вақти протсессорро ҷисмонӣ истеъмол намекунад.

Ман мақолае наёфтаам, ки ҳисобкунии шабеҳро барои дуздӣ тавсиф мекунад (агар шумо медонед, онро дар шарҳҳо мубодила кунед). Аммо, аз рӯи коди манбаъ, механизми ҳисобкунӣ бо коркарди такрорӣ яксон аст. Ба таври оддӣ, ҳисобкунаки дигар дар ядро ​​мустақиман барои раванди KVM (раванди мошини виртуалӣ) илова карда мешавад, ки давомнокии раванди KVM-ро интизори вақти CPU ҳисоб мекунад. Ҳисобкунак маълумотро дар бораи протсессор аз мушаххасоти худ мегирад ва тафтиш мекунад, ки оё ҳамаи аломатҳои он тавассути раванди мошини виртуалӣ истифода мешаванд. Агар ин ҳама бошад, пас мо тахмин мезанем, ки протсессор танҳо бо раванди мошини виртуалӣ машғул аст. Дар акси ҳол, мо хабар медиҳем, ки протсессор кори дигаре мекард, дуздӣ пайдо шуд.

Раванди ҳисобкунии дуздӣ ба ҳамон мушкилоте дучор мешавад, ки ҳисобкунии мунтазами такрорӣ. Нагӯем, ки чунин мушкилот аксар вақт пайдо мешаванд, аммо онҳо рӯҳафтода ба назар мерасанд.

2.2. Намудҳои виртуализатсия дар KVM

Ба таври васеъ гӯем, се намуди виртуализатсия вуҷуд дорад, ки ҳама аз ҷониби KVM дастгирӣ карда мешаванд. Механизми пайдоиши дуздӣ метавонад аз намуди виртуализатсия вобаста бошад.

Пахш. Дар ин ҳолат, кори системаи оператсионии мошини виртуалӣ бо дастгоҳҳои физикии гипервизор чунин рух медиҳад:

  1. Системаи оператсионии меҳмон ба дастгоҳи меҳмони худ фармон мефиристад.
  2. Драйвери дастгоҳи меҳмон фармонро қабул мекунад, дархост барои BIOS-и дастгоҳ эҷод мекунад ва онро ба гипервизор мефиристад.
  3. Раванди гипервизор фармонро ба фармони дастгоҳи физикӣ тарҷума мекунад ва онро дар қатори чизҳои дигар бехатартар мекунад.
  4. Драйвери дастгоҳи ҷисмонӣ фармони тағирёфтаро қабул мекунад ва онро ба худи дастгоҳи ҷисмонӣ мефиристад.
  5. Натиҷаҳои иҷрои фармонҳо бо ҳамон роҳ бармегарданд.

Бартарии тарҷума дар он аст, ки он ба шумо имкон медиҳад, ки ҳама гуна дастгоҳро тақлид кунед ва омодагии махсуси ядрои системаи пардозандаро талаб намекунад. Аммо шумо бояд барои ин, пеш аз ҳама, бо суръат пардохт кунед.

Виртуализатсияи сахтафзор. Дар ин ҳолат, дастгоҳ дар сатҳи сахтафзор фармонҳои системаи амалиётиро мефаҳмад. Ин роҳи зудтарин ва беҳтарин аст. Аммо, мутаассифона, онро на ҳама дастгоҳҳои физикӣ, гипервизорҳо ва системаҳои оператсионии меҳмонон дастгирӣ мекунанд. Дар айни замон, дастгоҳҳои асосие, ки виртуализатсияи сахтафзорро дастгирӣ мекунанд, протсессорҳо мебошанд.

Паравиртуализатсия. Варианти маъмултарин барои виртуализатсияи дастгоҳ дар KVM ва умуман маъмултарин реҷаи виртуализатсия барои системаҳои оператсионии меҳмонон. Хусусияти он дар он аст, ки кор бо баъзе зерсистемаҳои гипервизорӣ (масалан, бо шабака ё стеки диск) ё ҷудокунии саҳифаҳои хотира бо истифода аз API гипервизор бидуни тарҷумаи фармонҳои сатҳи паст сурат мегирад. Камбудии ин усули виртуализатсия дар он аст, ки ядрои системаи оператсионии меҳмонон бояд тағир дода шавад, то он метавонад бо гипервизор бо истифода аз ин API муошират кунад. Аммо ин одатан тавассути насб кардани драйверҳои махсус дар системаи оператсионии меҳмонон ҳал карда мешавад. Дар KVM ин API номида мешавад virtio API.

Бо паравиртуализатсия, дар муқоиса бо пахш, роҳ ба дастгоҳи ҷисмонӣ тавассути фиристодани фармонҳо мустақиман аз мошини виртуалӣ ба раванди гипервизор дар ҳост ба таври назаррас коҳиш меёбад. Ин ба шумо имкон медиҳад, ки иҷрои ҳама дастурҳои дохили мошини виртуалиро суръат бахшед. Дар KVM, ин аз ҷониби virtio API анҷом дода мешавад, ки танҳо барои дастгоҳҳои муайян, ба монанди шабака ё адаптери диск кор мекунад. Ин аст, ки чаро драйверҳои virtio дар дохили мошинҳои виртуалӣ насб карда мешаванд.

Камбудии ин суръат дар он аст, ки на ҳама равандҳое, ки дар дохили мошини виртуалӣ кор мекунанд, дар дохили он боқӣ мемонанд. Ин баъзе эффектҳои махсусро ба вуҷуд меорад, ки метавонад ба тухмдон дар дуздӣ оварда расонад. Ман тавсия медиҳам, ки омӯзиши муфассали ин масъаларо бо API барои I/O виртуалӣ: virtio.

2.3. Банақшагирии "одилона"

Мошини виртуалӣ дар гипервизор воқеан як раванди оддӣ аст, ки ба қонунҳои ҷадвалбандӣ (тақсимоти захираҳо дар байни равандҳо) дар ядрои Linux итоат мекунад, аз ин рӯ биёед ба он муфассалтар назар андозем.

Linux ба истилоҳ CFS, Completely Fair Scheduler-ро истифода мебарад, ки аз замони ядрои 2.6.23 ба нақшаи пешфарз табдил ёфтааст. Барои фаҳмидани ин алгоритм, шумо метавонед Architecture Linux Kernel ё рамзи сарчашмаро хонед. Моҳияти CFS аз тақсим кардани вақти протсессори байни равандҳо вобаста ба давомнокии иҷрои онҳо иборат аст. Ҳар қадар вақти бештари CPU барои раванд талаб карда шавад, ҳамон қадар вақти CPU камтар мегирад. Ин кафолат медиҳад, ки ҳама равандҳо "одилона" иҷро карда мешаванд - ба тавре ки як раванд ҳама протсессорҳоро доимо ишғол намекунад ва дигар равандҳо низ метавонанд иҷро шаванд.

Баъзан ин парадигма ба артефактҳои ҷолиб оварда мерасонад. Истифодабарандагони дарозмуддати Linux эҳтимол яхбандии муҳаррири матнии муқаррариро дар мизи корӣ ҳангоми иҷрои барномаҳои захираҳои серталаб ба монанди компилятор дар хотир доранд. Ин аз он сабаб рӯй дод, ки вазифаҳои ғайримансурӣ дар барномаҳои мизи корӣ бо вазифаҳои захираҳои серталаб, ба монанди компилятор рақобат мекарданд. CFS чунин мешуморад, ки ин беадолатона аст, бинобар ин он давра ба давра муҳаррири матнро қатъ мекунад ва ба протсессор имкон медиҳад, ки вазифаҳои компиляторро ҳал кунад. Ин бо истифода аз механизм ислоҳ карда шуд sched_autogroup, аммо бисёр хусусиятҳои дигари тақсимоти вақти протсессори байни вазифаҳо боқӣ монданд. Дар асл, ин ҳикоя дар бораи чӣ гуна бад будани ҳама чиз дар CFS нест, балки кӯшиши ҷалби таваҷҷӯҳ ба он аст, ки тақсимоти «одилона» вақти протсессор кори ночизтарин нест.

Нуктаи дигари муҳим дар банақшагир ин пешгирикунанда аст. Ин барои аз протсессор хориҷ кардани раванди ғазаб ва ба дигарон иҷозат додан лозим аст. Раванди хориҷкунӣ гузариши контекст номида мешавад. Дар ин ҳолат, тамоми контексти вазифа нигоҳ дошта мешавад: ҳолати стек, регистрҳо ва ғайра, ки пас аз он раванд ба интизорӣ фиристода мешавад ва дигаре ҷои онро мегирад. Ин як амалиёти гаронбаҳо барои OS аст ва хеле кам истифода мешавад, аммо дар он ҳеҷ чизи нодурусте вуҷуд надорад. Гузариши зуд-зуд контекст метавонад мушкилотро дар ОС нишон диҳад, аммо одатан он пайваста аст ва чизеро аз ҷумла нишон намедиҳад.

Барои шарҳ додани як далел чунин як ҳикояи тӯлонӣ лозим аст: ҳар қадар захираҳои протсессори бештар дар як ҷадвалсози ростқавли Linux истеъмол кунанд, ҳамон қадар зудтар он қатъ карда мешавад, то равандҳои дигар низ кор кунанд. Новобаста аз он ки ин дуруст аст ё не, саволи мураккабест, ки онро дар зери бори гуногун ба таври гуногун ҳал кардан мумкин аст. Дар Windows, то ба наздикӣ, нақшакаш ба коркарди афзалиятноки замимаҳои мизи корӣ нигаронида шуда буд, ки метавонад боиси ях шудани равандҳои замина гардад. Sun Solaris панҷ синфҳои гуногуни нақшакашҳо дошт. Вақте ки мо виртуализатсияро оғоз кардем, мо шашумро илова кардем, Нақшаи мубодилаи одилона, зеро панҷ нафари қаблӣ бо виртуализатсияи Solaris Zones ба таври кофӣ кор намекарданд. Ман тавсия медиҳам, ки омӯзиши муфассали ин масъаларо бо китобҳои монанди Solaris Internals: Solaris 10 ва меъмории ядрои OpenSolaris ё Фаҳмидани ядрои Linux.

2.4. Чӣ тавр назорат кардани дуздӣ?

Мониторинги дуздӣ дар дохили мошини маҷозӣ, ба монанди дигар метрикаи протсессор, оддӣ аст: шумо метавонед ҳама гуна асбоби метрикаи протсессорро истифода баред. Муҳим он аст, ки мошини виртуалӣ дар Linux аст. Бо баъзе сабабҳо Windows ин маълумотро ба корбаронаш намедиҳад. 🙁

Дуздӣ: кӣ вақти протсессорро аз мошинҳои виртуалӣ медуздад
Натиҷаи фармони боло: тафсилоти сарбории протсессор, дар сутуни рост - дуздӣ

Ҳангоми кӯшиши гирифтани ин маълумот аз гипервизор мушкилӣ ба миён меояд. Шумо метавонед кӯшиш кунед, ки дуздиро дар мошини ҳост пешгӯӣ кунед, масалан, бо истифода аз параметри миёнаи бор (LA) - арзиши миёнаи шумораи равандҳое, ки дар навбати иҷро интизоранд. Усули ҳисобкунии ин параметр оддӣ нест, аммо дар маҷмӯъ, агар LA аз рӯи шумораи риштаҳои протсессори муқарраршуда аз 1 зиёд бошад, ин нишон медиҳад, ки сервери Linux бо чизе пур шудааст.

Ҳамаи ин равандҳо чиро интизоранд? Ҷавоби равшан протсессор аст. Аммо ҷавоб комилан дуруст нест, зеро баъзан протсессор ройгон аст, аммо LA аз миқёс берун меравад. Дар хотир доред чӣ гуна NFS меафтад ва чӣ гуна LA меафзояд. Айнан ҳамин чиз метавонад бо диск ва дигар дастгоҳҳои вуруд/барорӣ рӯй диҳад. Аммо дар асл, равандҳо метавонанд анҷоми ҳама гуна қулфро интизор шаванд, хоҳ физикӣ, ки бо дастгоҳи воридотӣ / баромад алоқаманд ё мантиқӣ, ба монанди мутекс. Ба ин инчунин қулфкунӣ дар сатҳи сахтафзор (ҳамон посух аз диск) ё мантиқ (ба истилоҳ примитивҳои қулфкунӣ, ки як қатор объектҳо, мутекс мутобиқшавӣ ва spin, семафорҳо, тағирёбандаҳои шартӣ, қулфҳои rw, қулфҳои ipc) -ро дар бар мегирад. ...).

Хусусияти дигари LA дар он аст, ки он ҳамчун миёнаи системаи амалиётӣ ҳисобида мешавад. Масалан, 100 раванд барои як файл рақобат мекунанд ва сипас LA = 50. Чунин арзиши калон нишон медиҳад, ки системаи оператсионӣ бад аст. Аммо барои дигар кодҳои каҷ навишташуда, ин метавонад ҳолати муқаррарӣ бошад, сарфи назар аз он, ки танҳо он бад аст ва дигар равандҳо дар системаи оператсионӣ зарар намебинанд.

Аз сабаби ин ҳисобкунии миёна (ва на камтар аз як дақиқа), муайян кардани чизе аз рӯи нишондиҳандаи LA кори пурарзиштарин нест, бо натиҷаҳои хеле номуайян дар ҳолатҳои мушаххас. Агар шумо кӯшиш кунед, ки онро фаҳмед, шумо хоҳед дид, ки мақолаҳо дар Википедия ва дигар захираҳои дастрас танҳо соддатарин ҳолатҳоро бидуни шарҳи амиқи раванд тавсиф мекунанд. Ман ба ҳар касе, ки манфиатдор аст, боз мефиристам, дар ин ҷо ба Брендан Грегг  - истиноди зеринро пайгирӣ кунед. Кӣ барои гуфтугӯ бо забони англисӣ танбал аст - тарҷумаи мақолаи машҳури ӯ дар бораи LA.

3. Эффектҳои махсус

Акнун биёед ба ҳолатҳои асосии дуздӣ, ки мо дучор омадем, дида мебароем. Ман ба шумо мегӯям, ки чӣ гуна онҳо аз ҳамаи гуфтаҳои дар боло зикршуда пайравӣ мекунанд ва чӣ гуна онҳо бо нишондиҳандаҳои гипервизор алоқаманданд.

Истифодаи такрорӣ. Соддатарин ва маъмултарин: гипервизор дубора истифода шудааст. Дар ҳақиқат, бисёр мошинҳои виртуалӣ кор мекунанд, истеъмоли протсессор дар дохили онҳо, рақобати зиёд, истифодаи LA зиёда аз 1 аст (бо риштаҳои протсессор ба эътидол оварда шудааст). Ҳама чиз дар дохили ҳама мошинҳои виртуалӣ суст мешавад. Дуздӣ, ки аз гипервизор интиқол дода мешавад, низ меафзояд, зарур аст, ки бори дигарро тақсим кунед ё касеро хомӯш кунед. Умуман, ҳама чиз мантиқӣ ва фаҳмо аст.

Паравиртуализатсия бар зидди ҳолатҳои ягона. Дар гипервизор танҳо як мошини маҷозӣ мавҷуд аст; он як қисми ками онро истеъмол мекунад, аммо бори калони воридот / баромад, масалан дар диск истеҳсол мекунад. Ва аз ҷое дар он дуздии хурде пайдо мешавад, то 10% (чунон ки якчанд таҷриба нишон медиҳад).

Ҳодиса ҷолиб аст. Дуздӣ дар ин ҷо маҳз аз сабаби басташавӣ дар сатҳи ронандагони паравиртуализатсияшуда пайдо мешавад. Танаффус дар дохили мошини виртуалӣ сохта мешавад, ки аз ҷониби драйвер коркард карда мешавад ва ба гипервизор фиристода мешавад. Аз сабаби коркарди танаффус дар гипервизор, барои мошини виртуалӣ он ба дархости фиристодашуда монанд аст, он барои иҷро омода аст ва протсессоро интизор аст, аммо ба он вақти протсессори дода намешавад. Духтари виртуалӣ гумон мекунад, ки ин вақт дуздида шудааст.

Ин дар лаҳзаи фиристодани буфер рӯй медиҳад, он ба фазои ядрои гипервизор ворид мешавад ва мо интизори онро оғоз мекунем. Гарчанде, ки аз нуқтаи назари мошини виртуалӣ, ӯ бояд фавран баргардад. Аз ин рӯ, мувофиқи алгоритми ҳисобкунии дуздӣ, ин вақт дуздидашуда ҳисобида мешавад. Эҳтимол, дар ин вазъият метавонад механизмҳои дигар вуҷуд дошта бошанд (масалан, коркарди баъзе зангҳои дигари система), аммо онҳо набояд фарқ кунанд.

Банақшагир бо мошинҳои виртуалии пурбор. Вақте ки як мошини виртуалӣ нисбат ба дигарон бештар аз дуздӣ азоб мекашад, ин ба нақшакаш вобаста аст. Чӣ қадаре ки раванд протсессорро бор кунад, нақшакаш онро зудтар аз кор мебарорад, то дигарон низ кор кунанд. Агар мошини маҷозӣ каме истеъмол кунад, он дуздиро намебинад: раванди он ростқавлона нишаста ва интизор шуд, мо бояд ба он вақти бештар диҳем. Агар мошини маҷозӣ ҳадди аксарро дар тамоми ядроҳои худ тавлид кунад, он аксар вақт аз протсессор хориҷ карда мешавад ва онҳо кӯшиш мекунанд, ки ба он вақти зиёд надиҳанд.

Вақте ки равандҳо дар дохили мошини виртуалӣ кӯшиш мекунанд, ки протсессори бештар гиранд, зеро онҳо наметавонанд коркарди маълумотро аз даст диҳанд, боз ҳам бадтар аст. Пас, системаи оператсионии гипервизор, аз ҳисоби оптимизатсияи ростқавл, вақти камтар ва камтари протсессоро таъмин мекунад. Ин раванд ба мисли тарма рух медиҳад ва дуздӣ ба осмон ҷаҳиш мекунад, гарчанде ки дигар мошинҳои виртуалӣ онро базӯр пай бурда метавонанд. Ва ҳар қадаре, ки ядроҳо зиёдтар бошанд, мошини зарардида ҳамон қадар бадтар мешавад. Хулоса, мошинҳои виртуалии пурбор бо ядроҳои зиёд аз ҳама бештар азоб мекашанд.

LA паст, аммо дуздӣ вуҷуд дорад. Агар LA тақрибан 0,7 бошад (яъне гипервизор ба назар камбор карда шудааст), аммо дуздӣ дар дохили мошинҳои виртуалии инфиродӣ мушоҳида мешавад:

  • Варианти паравиртуализатсия, ки аллакай дар боло тавсиф шудааст. Мошини виртуалӣ метавонад нишондиҳандаҳои дуздиро қабул кунад, гарчанде ки гипервизор хуб аст. Тибқи натиҷаҳои таҷрибаҳои мо, ин варианти дуздӣ аз 10% зиёд нест ва набояд ба иҷрои барномаҳо дар дохили мошини виртуалӣ таъсири ҷиддӣ расонад.
  • Параметри LA нодуруст ҳисоб карда шудааст. Аниқтараш, дар ҳар як лаҳзаи мушаххас он дуруст ҳисоб карда мешавад, аммо вақте ки дар тӯли як дақиқа ба ҳисоби миёна ҳисоб карда мешавад, он нодида гирифта мешавад. Масалан, агар як мошини маҷозӣ дар ҳар сеяки гипервизор ҳамаи протсессори худро маҳз ним дақиқа истеъмол кунад, пас LA дар як дақиқа дар гипервизор 0,15 хоҳад буд; чор чунин мошини маҷозӣ, ки дар як вақт кор мекунанд, 0,6 медиҳад. Ва далели он, ки дар тӯли ним дақиқа дар ҳар яки онҳо дуздии ваҳшӣ дар 25% мувофиқи нишондиҳандаи LA буд, дигар берун кашидан мумкин нест.
  • Боз, аз сабаби нақшакаш, ки қарор кард, ки касе аз ҳад зиёд мехӯрад ва бигзор касе интизор шавад. Дар ҳамин ҳол, ман контекстро иваз мекунам, халалҳоро ҳал мекунам ва дигар чизҳои муҳими системаро ҳал мекунам. Дар натиҷа, баъзе мошинҳои виртуалӣ ҳеҷ гуна мушкилотро намебинанд, дар ҳоле ки дигарон таназзули ҷиддии фаъолиятро аз сар мегузаронанд.

4. Дигар таҳрифҳо

Миллионҳо сабабҳои дигар барои таҳрифи бозгашти одилонаи вақти протсессор дар мошини виртуалӣ мавҷуданд. Масалан, hyperthreading ва NUMA дар ҳисобҳо душворӣ меоранд. Онҳо интихоби ядроро барои иҷрои раванд комилан иштибоҳ мекунанд, зеро нақшакаш коэффитсиентҳо - вазнҳоро истифода мебарад, ки ҳангоми иваз кардани контекст ҳисобкуниро боз ҳам душвортар мегардонанд.

Аз сабаби технологияҳо, аз қабили boost turbo ё, баръакс, режими сарфаи энергия, таҳрифҳо мавҷуданд, ки ҳангоми ҳисоб кардани истифодабарӣ метавонанд басомад ё ҳатто буридаи вақтро дар сервер ба таври сунъӣ зиёд ё кам кунанд. Даргиронидани turbo boost кори як риштаи протсессорро аз ҳисоби афзоиши кори дигараш коҳиш медиҳад. Дар айни замон, маълумот дар бораи басомади протсессори ҷорӣ ба мошини виртуалӣ интиқол дода намешавад ва он боварӣ дорад, ки касе вақти онро дуздида истодааст (масалан, вай 2 ГГц талаб кард, аммо нисфи онро гирифт).

Умуман, сабабҳои зиёде барои таҳриф вуҷуд дорад. Шумо метавонед чизи дигареро дар системаи мушаххас пайдо кунед. Беҳтар аст, ки аз китобҳое, ки ман ба онҳо дар боло истинодҳо додаам ва гирифтани омор аз гипервизор бо истифода аз утилитаҳои ба монанди perf, sysdig, systemtap, ки аз онҳо даҳҳо нафар.

5. Хулоса

  1. Як миқдори дуздӣ метавонад аз сабаби паравиртуализатсия рух диҳад ва онро муқаррарӣ ҳисобидан мумкин аст. Онҳо дар интернет менависанд, ки ин арзиш метавонад 5-10% бошад. Аз замимаҳои дохили мошини виртуалӣ ва сарбории он ба дастгоҳҳои физикии он вобаста аст. Дар ин ҷо диққат додан ба он муҳим аст, ки чӣ гуна барномаҳо дар дохили мошинҳои виртуалӣ эҳсос мекунанд.
  2. Таносуби сарборӣ ба гипервизор ва дуздӣ дар дохили мошини виртуалӣ на ҳама вақт бо ҳам возеҳу возеҳ алоқаманд аст; ҳарду ҳисобҳои дуздӣ дар ҳолатҳои мушаххас дар зери сарбориҳои гуногун метавонанд хато бошанд.
  3. Планкаш ба процессхое, ки бисьёр чизхоро талаб мекунанд, муносибати бад дорад. Кушиш мекунад, ки ба онхое, ки бештар талаб мекунанд, кам дихад. Мошинҳои виртуалии калон бад ҳастанд.
  4. Ҳатто бидуни паравиртуализатсия (бо назардошти сарбории дохили мошини виртуалӣ, хусусиятҳои сарбории ҳамсояҳо, тақсимоти сарборӣ дар байни риштаҳо ва омилҳои дигар) каме дуздӣ метавонад меъёр бошад.
  5. Агар шумо хоҳед, ки дуздиро дар як системаи мушаххас муайян кунед, шумо бояд вариантҳои гуногунро омӯзед, ченакҳоро ҷамъ кунед, онҳоро бодиққат таҳлил кунед ва дар бораи чӣ гуна тақсим кардани сарбор фикр кунед. Кафолат аз ҳама гуна ҳолатҳо имконпазир аст, ки онҳо бояд ба таври таҷрибавӣ тасдиқ карда шаванд ё дар debugger ядро ​​дида шаванд.

Манбаъ: will.com

Илова Эзоҳ