Load average
Kaido Loonurm A21 - POOLIK
Ilmselt ei ole palju väita et linux süsteemide administraatorid on tuttavad load avarage näitajaga. Nagu nimi juba viitab, siis load avarage näitab süsteemi koormust(load), täpsemalt CPU koormust. Mida kõrgem on load avarage väärtus, seda suurem on CPU koormus, ehk siis mida madalam on load avarage, seda parem. Kui administraator räägib süsteemi koormuse näitajast siis enamjaolt peetakse silmas just load avarage. Üldjuhul võiks load avarage olla üks esimesi näitajaid mida kontrollitakse, kui tahetakse teada kas vaadeldav server on ülekoormatud või mitte.
Mis on load avarage
Iga administraator võiks süsteemi logimise järel käivitada käsu uptime , sellega näeb ära kui kaua on server järjest töötanud ja mis on load avarage näitaja.
$ uptime 08:32:30 up 5 days, 15:29, 2 users, load average: 1.37, 10.15, 8.10
Näites on näha et load avarage väärtused on 1.37, 10.15, 8.10. Need väärtused näitavad keskmist koormust viimase minuti, 10 minuti ja 15 minuti jooksul. Kui see väärtus oleks 0 siis see tähendab et sinu süsteem on täielikult puhke seisundis. Kui kesmise koormuse näitaja on 1, siis see tähendab et CPU on niipalju hõivatud et üks protsess peab ootama CPU aega. Kui load avarage väärtuseks on 1 ,ning käivitada protsess mis kasutab CPUd siis oleks uus avarage load väärtus 2. Load avarage annab hea ülevaate kui koormatud on sinu süsteem keskmiselt viimase minuti, 10 minuti ja 15 minuti jooksul olnud.
Silmas tuleb pidada, et kui vaadata load avarage väärtust siis see ei ole vastavuses sinu süsteemi CPU-de arvuga.
Kokkuvõtlikult tähendab see seda et ühe CPU-ga süsteemi avarage load 1 on sama mis 4 CPU-ga süsteemis avarage load 4.
Kui nüüd seda silmas pidades vaadata näidet ja arvestada et sellel süsteemil on 1 CPU siis võib sealt välja lugeda,
et 15 min tagasi(8.10) oli süsteemi koormus üsna kõrge, ning 5 min tagasi(10.15) oli koormus tõusnud veelgi,
kuid viimase minuti jooksul(1.37) langes koormus tagasi oodatud piiridesse.
Kui aga load avarage näitajad juhtuvad olema sellised: load average: 25.37, 11.15, 8.10, siis sellisel juhul võiks tekkida kahtlus et midagi on korrast ära ja peaks hakkama suure koormuse tagamaid selgitama. Samas peab silmas pidama et igale serverile tuleb läheneda individuaalselt ning võib olla et mõne serveriga ei juhtu sellise koormuse juures midagi ja samas mõni teine server ei saa sellise koormusega üldse hakkama.
Siinkohal load avarage tõlgendamisel mängib väga suurt rolli kogemus ja vastava serveri iseärasused.
Piltlik näide mis aitab paremini aru saada load avarage väärtusest
Juhul kui ma ei ole veel suutnud load avarage näitaja suurust suutnud selgeks teha siis toon siinkohal ühe piltliku näite.
Oletame et üks CPU tähistab üherealist teed üle silla ja sina oled silla operaator ning tahad kuidagi sillale sõitvatele autodele teada anda kui koormatud sild on.
Siis load avarage loogikat kasutades:
- 0.00 - see tähendab et mitte ühtegi autot ei ole sillal
- 1.00 - tähendab et sild on autosid täpselt täis, ei ole järjekorda ja ei ole ka sillal rohkem ruumi
- rohkem kui 1.00 tähendab et sild on autosid täis ja on ka tekkinud juba järjekord
= koormus on 1.00
= koormus on 0.50
= koormus on 1.70
Kui kõrge on kõrge
Nüüd kui teame mis load avarage endast kujutab tuleks vaadata lähemalt millised näitajad võib lugeda heaks ja millised halvaks. Sellele kahjuks aga ühest vastust ei ole, sest see sõltub kõik serverist ja sellest mille tagajärjel koormus tõuseb. Kui koormus serveris tõuseb siis peaks olema esimene küsimus, et mis tekitab sellist koormust. Üldiselt võib liigitada algpõhjuse kolmeks: CPU-ga seotud koormuse tõus, mäluga seotud probleemid ja I/O-ga seotud koormus. Probleemi täpsemaks välja selgitamiseks soovitan kasutada programmi top. See on laialt levinud ja peaks olema kohe kättesaadav. Top programmi esimesed 5 rida annavad kokkuvõtlikult infot koormuste ja serveri resursi kasutamise osas. Esimene rida näitab sama infot mis näitab käsk uptime.
Kindlasti ei tasuks sattuda paanikasse kui serveri viimase 15 minuti keskmine avarage load on näiteks 15, aga server ei ole aeglane ja ei tekita probleeme. Kuid sellisel juhul peaks vaikselt uurima mis selle avarage load näitaja kõrgeks ajab. Näiteks võib tulla välja et koormuse ajab kõrgeks HDD mis ei tule enam ReadWrite koormusega toime ja siis peaks mõtlema ketaste lisamise või vahetamise peale. Ketaste koormust saab kontrollida iostat programmiga.
Kasutatud kirjandus
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages http://www.linuxjournal.com/magazine/hack-and-linux-troubleshooting-part-i-high-load?page=0,0 http://en.wikipedia.org/wiki/Load_%28computing%29 http://luv.asn.au/overheads/NJG_LUV_2002/luvSlides.html
Autor
Kaido Loonurm