Last gjennomsnitt

Den belastning gjennomsnitt er, på UNIX -systemer , et systembelastning gjennomsnitt , et mål på mengden av arbeid som systemet gjør i løpet av tidsperioden. Dette er tilgjengelig via topp- eller oppetidskommandoen , eller via systemfilen / proc / loadavg.

Eksempel

load average : 1.27, 0.92, 0.73

Det første tallet, 1,27, er et gjennomsnitt av belastningen beregnet over ett minutt, og oppdateres hvert 5. sekund. Det andre tallet beregnes over fem minutter, og det tredje over femten minutter. Det er en veldig god indikator på (over) arbeidsmengden til et system, men identifiserer ikke årsaken.

Hva ladningen representerer

Belastning er antall prosesser som bruker eller venter på prosessoren pluss, i de fleste systemer, antall fastlagte prosesser. Dette vanskeliggjør tolkningen av tallet.

Maksimalt antall prosesser som faktisk kjører, avhenger av antall prosessorer: 1 for en enkelt prosessor, 2 for en dobbel prosessor osv.

En belastning på 2 indikerer at det vil være en prosess som venter på en enkelt prosessor, men det kan bare være to prosesser som kjører på en dobbel prosessor.

Hvordan tolker man belastningen?

Tilfelle av en enkelt prosessor og systemoptimaliseringer (i motsetning til applikasjonsoptimaliseringer, aldri å bli neglisjert)

En belastning <1 indikerer at det ikke er nok prosess til å fullt oppta maskinen. Det er derfor ingen "konkurranse" for prosessoren; sistnevnte utfører instruksjonene raskt og slippes. Et ytelsesproblem vil derfor helt sikkert oppstå ved å behandle forespørsler som ikke når maskinen raskt nok.

→ For å forbedre ytelsen: Utfør flere samtidige oppgaver, øk gjennomstrømningen av forespørsler, etc.

En konstant belastning på 1 betyr at det var en og bare en arbeidsprosess til enhver tid. Ingen prosess har derfor "ventet på sin tur" for å bli behandlet av prosessoren.
Imidlertid, hvis det er en enkelt prosess som stadig opptar prosessoren, kan den potensielt kjøre raskere på en kraftigere prosessor. Ja, selv om køen er tom, kan den "in progress" prosessen trenger mer fart .

→ For å forbedre ytelsen: Hvis det bare er en prosess, legg til flere og følg belastningen. Ellers er balansen nådd, og mer å gjøre vil innebære forbedring i prosessor, minne og / eller I / U.

Dette betyr ikke nødvendigvis at en raskere prosessor vil løse problemet. Faktisk inkluderer belastningen vanligvis prosesser som venter på input-output . En prosess i dette tilfellet vil derfor telles, men den blir "blokkert" fordi den "venter" på en I / O-enhet, og ikke prosessoren.
Du må derfor ta hensyn til andre visninger av kommandoer som topp  ; der den totale CPU-bruken også vises. Hvis prosessoren er 90% inaktiv, men belastningen er høy, vil ikke en raskere prosessor endre det. Hvis det holder seg "fast" ved 100% bruk, er det absolutt årsaken.
(Med andre ord: en belastning> 1 indikerer strid mot prosessoren bare hvis, og bare hvis tomgang = 0,0.)

→ For å forbedre ytelsen: Undersøk den samlede CPU-utnyttelsesgraden. Minimer I / O hvis mulig (er mengden RAM tilstrekkelig?). Handle deretter på de svake punktene som er identifisert.

Beregning av lastsnittet

Det viste gjennomsnittet beregnes med en vekting: jo nyere målingen er, desto viktigere er den. Vektnedgangen er eksponentiell. Denne subtiliteten kan ignoreres i de fleste tilfeller.

Prosessorbelastning kontra prosessorbruk

Den sammenlignende studien på forskjellige lastindekser utført av Ferrari og Zhou viser at lastinformasjon basert på lengden på proseskøen er mer effektiv når det gjelder å kjenne den totale belastningen til et system, sannsynligvis fordi når en vert er tungt belastet, vil CPU-bruken kontinuerlig toppe på 100% ettersom køen kan gi en mer nøyaktig og skalerbar vurdering av systembelastning. For eksempel er to systemer med 100% CPU-utnyttelse, ett med tre ventende prosesser og det andre med seks ventende prosesser, åpenbart lastet veldig forskjellig.

Merknader og referanser

  1. (i) Domenico Ferrari og Songnian Zhou, en empirisk undersøkelse av Load indekser for lastbalansering Applications  " , Proc. Performance '87, den 12. internasjonale symp. Om modellering, måling og evaluering av datamaskinytelse , North Holland Publishers , Amsterdam. Nederland 1988. s.  515-528 .