Stebėjimas

Suprasti „Linux“ apkrovos vidurkį

Suprasti „Linux“ apkrovos vidurkį
Apkrovos vidurkis yra sistemos procesoriaus darbo ir laisvų procesoriaus ciklų matavimas. Šiame straipsnyje aš apibrėžsiu terminą, pademonstruosiu, kaip „Linux“ apskaičiuoja šią vertę, tada pateiksiu supratimą, kaip interpretuoti sistemos apkrovą.

Skirtingi apkrovos apskaičiavimo metodai

Prieš pasinerdami į „Linux“ apkrovos vidurkius, turime ištirti skirtingus apkrovos apskaičiavimo būdus ir atkreipti dėmesį į dažniausiai pasitaikančią procesoriaus apkrovą - procentą.

„Windows“ skaičiuoja apkrovą kitaip nei „Linux“, o kadangi „Windows“ istoriškai buvo populiaresnė darbalaukyje, „Windows“ apkrovos apibrėžimą paprastai supranta dauguma kompiuterio vartotojų. Daugelis „Windows“ vartotojų matė sistemos apkrovą užduočių tvarkyklėje procentais, svyruojančiais nuo 0% iki 100%.

"Windows" tai gaunama ištyrus, kaip "užimtas" Sistemos tuščiosios eigos procesas yra ir naudojant atvirkštinę sistemos apkrovai reprezentuoti. Pvz., Jei nenaudojamas siūlas vykdo 99% laiko, „Windows“ procesoriaus apkrova būtų 1%. Šią vertę lengva suprasti, tačiau joje pateikiama mažiau išsamios informacijos apie tikrąją sistemos būseną.

„Linux“ apkrovos vidurkis yra dešimtainis skaičius, prasidedantis nuo 0.00. Vertę galima apytiksliai apibrėžti kaip procesų per pastarąją minutę, kurie turėjo laukti savo eilės vykdymui, skaičių. Skirtingai nuo „Windows“, „Linux“ apkrovos vidurkis nėra momentinis matavimas. Apkrova pateikiama trimis reikšmėmis - vienos minutės, penkių minučių ir penkiolikos minučių vidurkiu.

Suprasti „Linux“ apkrovos vidurkį

Iš pradžių šis papildomas detalių sluoksnis atrodo nereikalingas, jei tiesiog norite sužinoti dabartinę procesoriaus apkrovos būseną savo sistemoje. Bet kadangi pateikiami trijų laikotarpių, o ne momentinio matavimo, vidurkiai, vienu žvilgsniu iš trijų skaičių galite gauti išsamesnę idėją apie sistemos apkrovos pokyčius laikui bėgant

Parodyti apkrovos vidurkį yra paprasta. Komandinėje eilutėje galite naudoti įvairias komandas. Aš paprasčiausiai naudoju komandą „w“:

šaknis @ mergelė [~] # w
21:08:43 iki 38 dienų, 4:34, 4 vartotojai, apkrovos vidurkis: 3.11, 2.75, 2.70

Likusioje komandos dalyje bus rodoma, kas yra prisijungęs ir ką jie vykdo, tačiau mūsų tikslais ši informacija yra nesvarbi, todėl aš ją iškarpiau iš aukščiau pateikto ekrano.

Idealioje sistemoje jokio proceso neturėtų sulaikyti kitas procesas (ar gija), bet vieno procesoriaus sistemoje, tai atsitinka, kai apkrova viršija 1.00.

Čia nepaprastai svarbūs žodžiai „vieno procesoriaus sistema“. Jūsų kompiuteryje tikriausiai yra keli procesoriaus branduoliai, nebent naudojate senovinį kompiuterį. Mašinoje, kurioje esu, turiu 16 branduolių:

šaknis @ virgo [~] # nproc
16

Šiuo atveju apkrovos vidurkis yra 3.11 visai nesijaudina. Tai paprasčiausiai reiškia, kad šiek tiek daugiau nei trys procesai buvo pasirengę vykdyti ir procesoriaus branduoliai turėjo jų vykdymą. Šioje sistemoje apkrova turėtų siekti 16, kad būtų laikoma „100%“.

Norėdami tai išversti į procentinę sistemos apkrovą, galite naudoti šią paprastą, jei ne tylią komandą:

cat / proc / loadavg | pjūvis -c 1-4 | aidas "skalė = 2; ($ (Ši komandų seka išskiria 1 minutės vidurkį per pjūvį ir pakartoja jį, padalydama iš procesoriaus branduolių skaičiaus, naudodama bc, komandų eilutės skaičiuoklę, kad gautų procentą.

Ši vertė anaiptol nėra mokslinė, tačiau apytiksliai apytiksliai nurodo procesoriaus apkrovą procentais.

Minutė mokytis, visą gyvenimą išmokti

Ankstesniame skyriuje pateikiau „100%“ apkrovos 16 pavyzdį.0 iš 16 procesoriaus pagrindinių sistemų kabutėse, nes „Linux“ apkrovos apskaičiavimas yra šiek tiek miglotesnis nei „Windows“. Sistemos administratorius turi nepamiršti, kad:

Dėl to procesoriaus apkrovos valdymas „Linux“ sistemoje nėra visiškai empirinis dalykas. Net jei taip būtų, vien procesoriaus apkrova nėra tinkamas viso sistemos išteklių naudojimo matavimas. Patyręs „Linux“ administratorius atsižvelgs į procesoriaus apkrovą kartu su kitomis reikšmėmis, tokiomis kaip įvesties / išvesties laukimas ir branduolio procentas, palyginti su sistemos laiku.

I / O Palaukite

I / O laukimas yra lengviausiai matomas per komandą „top“:

Aukščiau pateiktoje ekrano kopijoje aš paryškinau I / O laukimo vertę. Tai procentas laiko, kurį procesorius laukė, kol baigsis įvesties arba išvesties komandos. Paprastai tai rodo didelį disko aktyvumą. Nors vien didelis laukimo procentas gali žymiai nepabloginti su procesoriumi susijusių užduočių, tai sumažins kitų užduočių įvesties / išvesties našumą ir leis sistemai jaustis vangiai.

Didelis įvesties / išvesties laukimas be jokios akivaizdžios priežasties gali reikšti disko problemą. Norėdami pamatyti, ar nebuvo klaidų, naudokite komandą „dmesg“.

Branduolys vs. Sistemos laikas

Aukščiau paryškintos reikšmės atspindi vartotojo ir branduolio (sistemos) laiką. Tai yra viso CPU laiko suvartojimo pasiskirstymas pagal vartotojus (t.e. programos ir kt.) ir branduolį (t.e. sąveika su sistemos įrenginiais). Didesnis vartotojo laikas parodys daugiau procesoriaus naudojimo programose, kur didesnis branduolio laikas parodys daugiau sistemos lygio apdorojimo.

Gana vidutinė apkrova

Sužinoti apkrovos vidurkio ir faktinio sistemos veikimo santykį reikia laiko, tačiau neilgai trukus pamatysite aiškią koreliaciją. Naudodamiesi sistemos našumo metrikų subtilybėmis, galėsite priimti geresnius sprendimus dėl aparatūros atnaujinimo ir programos išteklių naudojimo.

Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...
Kaip naudoti „GameConqueror Cheat Engine“ sistemoje „Linux“
Straipsnyje pateikiamas „GameConqueror“ apgaulės variklio naudojimo „Linux“ vadove. Daugelis žaidėjų, žaidžiančių sistemoje „Windows“, dažnai naudoja ...
Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...