Erinevad koormuse arvutamise meetodid
Enne Linuxi koormuse keskmistesse sukeldumist peame uurima erinevaid koormuse arvutamise viise ja tegelema protsessori koormuse kõige tavalisema mõõtmisega - protsent.
Windows arvutab koormuse erinevalt Linuxist ja kuna Windows on olnud töölaual ajalooliselt populaarsem, mõistab Windowsi koormuse definitsiooni enamik arvutikasutajaid üldiselt. Enamik Windowsi kasutajaid on näinud süsteemi koormust tegumihalduris protsendina vahemikus 0% kuni 100%.
Windowsis tuletatakse see uurides, kui "hõivatud" on Süsteemi tühikäigu protsess on süsteemi koormuse tähistamiseks pöördvõrdeline kasutamine. Näiteks kui tühikäik töötab 99% ajast, oleks Windowsi protsessori koormus 1%. Seda väärtust on lihtne mõista, kuid see annab süsteemi üldise oleku kohta vähem üksikasju.
Linuxis tähistab koormuse keskmist kümnendarv algusega 0.00. Väärtust saab umbes määratleda protsesside arvuna viimase minuti jooksul, mis pidid täitmist ootama. Erinevalt Windowsist ei ole Linuxi keskmine koormus kohene mõõtmine. Koormus esitatakse kolmes väärtuses - ühe minuti keskmine, viie minuti keskmine ja viieteistkümne minuti keskmine.
Koormuse keskmise mõistmine Linuxis
Esialgu tundub see täiendav detailikiht tarbetu, kui soovite lihtsalt teada oma süsteemi protsessori koormuse praegust olekut. Kuid kuna on antud kolme ajaperioodi keskmised, mitte kohene mõõtmine, saate täieliku ülevaate süsteemi koormuse muutumisest ajas ühe numbri ühe pilguga
Koormuse keskmise kuvamine on lihtne. Käsureal saate kasutada mitmesuguseid käske. Ma kasutan lihtsalt käsku “w”:
juur @ virgo [~] # w21:08:43 kuni 38 päeva, 4:34, 4 kasutajat, keskmine koormus: 3.11, 2.75, 2.70
Ülejäänud käsk näitab, kes on sisse loginud ja mida nad täidavad, kuid meie eesmärkidel pole see teave asjakohane, nii et olen selle ülaltoodud ekraanilt ära lõiganud.
Ideaalses süsteemis ei tohiks ühtegi protsessi mõni muu protsess (või niit) kinni hoida, vaid ühes protsessorisüsteemis, see juhtub siis, kui koormus ületab 1.00.
Sõnad "ühe protsessori süsteem" on siin uskumatult olulised. Kui teil pole iidset arvutit, on teie masinal tõenäoliselt mitu protsessori südamikku. Mul on sisse lülitatud masinas 16 südamikku:
juur @ virgo [~] # nproc16
Sellisel juhul on koormuse keskmine 3.11 pole üldse murettekitav. See tähendab lihtsalt, et natuke rohkem kui kolm protsessi olid käivitamiseks valmis ja nende täitmiseks olid olemas protsessori südamikud. Selle konkreetse süsteemi puhul peaks koormus jõudma 16-ni, et arvestada 100% -ga.
Selle tõlkimiseks protsendipõhiseks süsteemikoormuseks võiksite kasutada seda lihtsat, kui mitte nüri käsku:
kass / proc / loadavg | lõige -c 1-4 | kaja "skaala = 2; ($ (See käsujada eraldab protsendi tuletamiseks 1-minutise keskmise lõike kaudu ja korrutab seda, jagatuna protsessori südamike arvuga käsurea kalkulaatori bc kaudu.See väärtus pole sugugi teaduslik, kuid annab ligikaudse hinnangu protsessori koormuse protsentides.
Minut õppida, eluaeg, mida õppida
Eelmises jaotises panin "100%" näite koormusest 16.0 16 CPU põhisüsteemis jutumärkides, kuna Linuxi koormuse arvutamine on natuke udusem kui Windows. Süsteemiadministraator peab meeles pidama, et:
- Koormust väljendatakse ooteprotsessides ja lõimedes
- See ei ole hetkeväärtus, pigem keskmine ja
- Selle tõlgendus peab sisaldama protsessori südamike arvu ja
- Võib ülepumbatud I / O ootab nagu ketas loeb
Seetõttu pole protsessori koormuse käsitsemine Linuxi süsteemis täiesti empiiriline küsimus. Isegi kui see nii oleks, ei ole protsessori koormus üksi piisav süsteemiressursside kasutamise mõõtmiseks. Sellisena arvestab kogenud Linuxi administraator protsessori koormust koos muude väärtustega, nagu sisend / väljund oot, ja tuuma protsent süsteemi aja suhtes.
I / O Oota
Sisend / väljund ootamist saab kõige paremini näha käsuga „top”:
Ülaltoodud ekraanipildil olen esile tõstnud I / O ooteaja väärtuse. See on protsent ajast, mida protsessor ootas sisendi või väljundi käskude lõpetamist. See näitab tavaliselt ketta suurt aktiivsust. Kuigi ainuüksi kõrge ooteprotsent ei pruugi CPU-ga seotud ülesandeid oluliselt halvendada, vähendab see muude ülesannete sisend- / väljundvõimsust ja muudab süsteemi aeglaseks.
Kõrge I / O ootamine ilma selge põhjuseta võib viidata kettaga seotud probleemile. Kasutage käsku „dmesg”, et näha, kas on esinenud vigu.
Kernel vs. Süsteemi aeg
Ülaltoodud esiletõstetud väärtused tähistavad kasutaja ja kerneli (süsteemi) aega. See on protsessori üldise tarbimise jaotus kasutajate kaupa (st.e. rakendused jne.) ja kernel (st.e. koostoime süsteemiseadmetega). Suurem kasutaja aeg näitab suuremat protsessori kasutamist programmide poolt, kus suurem kerneli aeg näitab suuremat töötlust süsteemitasemel.
Üsna keskmine koormus
Koormuse keskmise ja süsteemi tegeliku jõudluse seose õppimine võtab aega, kuid kaua enne näete selget seost. Relvastatud süsteemi jõudlusmõõdikute nõtkustega, saate riistvara täiendamise ja programmi ressursside kasutamise osas paremaid otsuseid teha.