Dažādas slodzes aprēķināšanas metodes
Pirms ienirstam Linux slodzes vidējos rādītājos, mums jāizpēta dažādie slodzes aprēķināšanas veidi un jārisina visizplatītākais CPU slodzes mērījums.
Windows aprēķina slodzi atšķirīgi no Linux, un tā kā Windows vēsturiski ir bijusi populārāka darbvirsmā, Windows slodzes definīciju parasti saprot lielākā daļa datoru lietotāju. Lielākā daļa Windows lietotāju ir redzējuši, ka sistēmas slodze uzdevumu pārvaldniekā tiek parādīta procentos no 0% līdz 100%.
Sistēmā Windows tas tiek iegūts, pārbaudot, cik "aizņemts" ir Sistēmas dīkstāves process ir un apgriezto vērtību izmanto, lai attēlotu sistēmas slodzi. Piemēram, ja dīkstāves pavediens izpilda 99% laika, centrālā procesora slodze sistēmā Windows būtu 1%. Šī vērtība ir viegli saprotama, taču sniedz mazāk detalizētas informācijas par sistēmas patieso statusu.
Linux vidējo slodzi attēlo decimālskaitlis, kas sākas ar 0.00. Vērtību var aptuveni definēt kā procesu skaitu pēdējā minūtē, kuriem bija jāgaida kārta, lai tos izpildītu. Atšķirībā no Windows, vidējais Linux slodzes rādītājs nav tūlītējs mērījums. Slodze tiek dota trīs vērtībās - vienas minūtes vidējā vērtība, piecu minūšu vidējā vērtība un piecpadsmit minūšu vidējā vērtība.
Izpratne par slodzes vidējo līmeni Linux
Sākumā šis papildu detaļu slānis šķiet nevajadzīgs, ja vēlaties vienkārši uzzināt pašreizējo CPU slodzes stāvokli jūsu sistēmā. Bet, tā kā tiek doti trīs laika periodu vidējie rādītāji, nevis tūlītēja mērīšana, jūs varat iegūt pilnīgāku priekšstatu par sistēmas slodzes izmaiņām laika gaitā ar vienu trīs skaitļu skatienu
Vidējās slodzes parādīšana ir vienkārša. Komandrindā varat izmantot dažādas komandas. Es vienkārši izmantoju komandu “w”:
sakne @ jaunava [~] # w21:08:43 līdz 38 dienām, 4:34, 4 lietotāji, vidējā slodze: 3.11, 2.75, 2.70
Pārējā komanda parādīs, kas ir pieteicies un ko viņi izpilda, taču mūsu vajadzībām šī informācija nav būtiska, tāpēc es to esmu izgriezis no iepriekš redzamā displeja.
Ideālā sistēmā nevienu procesu nedrīkst aizkavēt cits process (vai pavediens), bet gan vienā procesora sistēmā, tas notiek, kad slodze pārsniedz 1.00.
Šeit ir neticami svarīgi vārdi “viena procesora sistēma”. Ja vien jūs neizmantojat seno datoru, jūsu mašīnai, iespējams, ir vairāki CPU kodoli. Iekārtā, kurā ieslēdzu, man ir 16 kodoli:
sakne @ virgo [~] # nproc16
Šajā gadījumā vidējā slodze ir 3.11 nepavisam nav satraucošs. Tas vienkārši nozīmē, ka mazliet vairāk nekā trīs procesi bija gatavi izpildei un CPU kodoli bija klāt, lai apstrādātu to izpildi. Šajā konkrētajā sistēmā slodzei būtu jāsasniedz 16, lai to uzskatītu par “100%”.
Lai to iztulkotu uz sistēmas slodzi, kuras pamatā ir procenti, varat izmantot šo vienkāršo, ja ne negaidīto komandu:
cat / proc / loadavg | griezums -c 1-4 | atbalss "skala = 2; ($ (Šī komandu secība izolē vidējo 1 minūti caur izgriezumu un atkārto to, dalot ar CPU kodolu skaitu, izmantojot bc, komandrindas kalkulatoru, lai iegūtu procentu.Šī vērtība nekādā ziņā nav zinātniska, bet nodrošina aptuvenu procesora noslodzes aptuveno procentuālo daudzumu.
Minūte, ko mācīties, mūžs, ko apgūt
Iepriekšējā sadaļā es ievietoju “100%” piemēru slodzei 16.0 uz 16 CPU pamatsistēmas pēdiņās, jo slodzes aprēķināšana Linux ir nedaudz miglaināka nekā Windows. Sistēmas administratoram jāpatur prātā, ka:
- Slodze tiek izteikta gaidīšanas procesos un pavedienos
- Tā nav momentāna vērtība, drīzāk vidējā, un
- Tās interpretācijā jāiekļauj CPU kodolu skaits un
- Var pārspīlēt I / O gaida kā diska lasīšana
Tāpēc CPU slodzes apstrāde Linux sistēmā nav pilnīgi empīriska problēma. Pat ja tā būtu, procesora slodze vien nav pietiekams vispārējās sistēmas resursu izmantošanas mērījums. Pieredzējis Linux administrators apsvērs CPU slodzi kopā ar citām vērtībām, piemēram, I / O wait un kodola procentuālo attiecību pret sistēmas laiku.
I / O Pagaidiet
Ieejas / izejas gaidīšanu visvieglāk var redzēt, izmantojot komandu “top”:
Iepriekš redzamajā ekrānuzņēmumā esmu izcēlis I / O gaidīšanas vērtību. Šī ir procentuālā laika daļa, kuru CPU gaidīja, lai pabeigtu ievades vai izvades komandas. Tas parasti norāda uz lielu diska aktivitāti. Lai arī tikai liels gaidīšanas procents var būtiski nepasliktināt ar procesoru saistītus uzdevumus, tas samazinās I / O veiktspēju citiem uzdevumiem un liks sistēmai justies gausai.
Augsta I / O gaidīšana bez acīmredzama iemesla var norādīt uz diska problēmu. Izmantojiet komandu “dmesg”, lai pārbaudītu, vai nav notikušas kļūdas.
Kodols vs. Sistēmas laiks
Iepriekš norādītās vērtības attēlo lietotāja un kodola (sistēmas) laiku. Tas ir CPU laika patēriņa sadalījums pa lietotājiem (t.i.e. lietojumprogrammas utt.) un kodolu (t.i.e. mijiedarbība ar sistēmas ierīcēm). Lielāks lietotāja laiks norāda uz lielāku CPU izmantošanu programmās, kur lielāks kodola laiks norāda uz lielāku sistēmas līmeņa apstrādi.
Diezgan vidēja slodze
Lai uzzinātu vidējās slodzes attiecības ar faktisko sistēmas veiktspēju, ir vajadzīgs laiks, taču pēc neilga laika jūs redzēsiet atšķirīgu korelāciju. Bruņojoties ar sistēmas veiktspējas metrikas sarežģījumiem, jūs varēsiet pieņemt labākus lēmumus par aparatūras jauninājumiem un programmas resursu izmantošanu.