Overvåkning

Forstå belastningsgjennomsnitt på Linux

Forstå belastningsgjennomsnitt på Linux
Lastsnitt er en måling av arbeidsmengden versus gratis CPU-sykluser tilgjengelig på en systemprosessor. I denne artikkelen vil jeg definere begrepet, demonstrere hvordan Linux beregner denne verdien, og deretter gi innsikt i hvordan man skal tolke systembelastning.

Ulike metoder for å beregne belastning

Før vi dykker ned i Linux-belastningsgjennomsnitt, må vi utforske de forskjellige måtene belastning beregnes og adressere den vanligste målingen av CPU-belastning - en prosentandel.

Windows beregner belastning annerledes enn Linux, og siden Windows historisk sett har vært mer populært på skrivebordet, blir Windows-definisjonen av belastning generelt forstått av de fleste databrukere. De fleste Windows-brukere har sett systembelastningen i oppgavebehandleren vist som en prosentandel fra 0% til 100%.

I Windows er dette avledet ved å undersøke hvor "opptatt" System tomgangsprosess er og bruker det inverse for å representere systembelastningen. For eksempel, hvis tomgangstråden kjører 99% av tiden, vil CPU-belastning i Windows være 1%. Denne verdien er lett å forstå, men gir mindre generelle detaljer om den virkelige statusen til systemet.

I Linux er belastningsgjennomsnittet i stedet representert med et desimaltall som starter på 0.00. Verdien kan grovt sett defineres som antall prosesser i løpet av det siste øyeblikket som måtte vente på sin tur til utførelse. I motsetning til Windows er ikke Linux-belastningsgjennomsnitt en umiddelbar måling. Last er gitt i tre verdier - gjennomsnittet på ett minutt, gjennomsnittet på fem minutter og gjennomsnittet på femten minutter.

Forstå belastningsgjennomsnitt i Linux

Først virker dette ekstra detaljlaget unødvendig hvis du bare vil vite den nåværende tilstanden til CPU-belastningen i systemet ditt. Men siden gjennomsnittene av tre tidsperioder er gitt, i stedet for en øyeblikkelig måling, kan du få en mer fullstendig ide om endringen av systembelastningen over tid i et enkelt blikk på tre tall

Å vise lastesnittet er enkelt. På kommandolinjen kan du bruke en rekke kommandoer. Jeg bruker ganske enkelt kommandoen “w”:

root @ virgo [~] # w
21:08:43 opp 38 dager, 4:34, 4 brukere, last gjennomsnitt: 3.11, 2.75, 2.70

Resten av kommandoen vil vise hvem som er pålogget og hva de utfører, men for våre formål er denne informasjonen ikke relevant, så jeg har klippet den fra skjermbildet ovenfor.

I et ideelt system skal ingen prosesser holdes oppe av en annen prosess (eller tråd), men i et enkelt prosessorsystem, dette skjer når lasten går over 1.00.

Ordene “single processor system” er utrolig viktige her. Med mindre du kjører en gammel datamaskin, har maskinen din sannsynligvis flere CPU-kjerner. I maskinen jeg er på har jeg 16 kjerner:

root @ virgo [~] # nproc
16

I dette tilfellet et lastesnitt på 3.11 er ikke alarmerende i det hele tatt. Det betyr ganske enkelt at litt mer enn tre prosesser var klare til å kjøres, og CPU-kjerner var til stede for å håndtere utførelsen. På dette spesifikke systemet må belastningen nå 16 for å bli vurdert til "100%".

For å oversette dette til en prosentbasert systembelastning, kan du bruke denne enkle, om ikke stumpe, kommandoen:

cat / proc / loadavg | kutt -c 1-4 | ekko "skala = 2; ($ (Denne kommandosekvensen isolerer gjennomsnittet på 1 minutt via kutt og ekko det, delt på antall CPU-kjerner, gjennom bc, en kommandolinjekalkulator, for å utlede prosentandelen.

Denne verdien er på ingen måte vitenskapelig, men gir en grov tilnærming av CPU-belastningen i prosent.

Et minutt å lære, en levetid å mestre

I forrige avsnitt la jeg "100%" eksemplet på en belastning på 16.0 på et 16 CPU-kjernesystem i anførselstegn fordi beregningen av belastning i Linux er litt mer tåkete enn Windows. Systemadministratoren må huske på at:

På grunn av dette er det ikke helt en empirisk sak å få tak i CPU-belastning på et Linux-system. Selv om det var, er ikke CPU-belastning en tilstrekkelig måling av den totale systemressursutnyttelsen. Som sådan vil en erfaren Linux-administrator vurdere CPU-belastning sammen med andre verdier som I / O-ventetid og prosentandelen kjerne versus systemtid.

I / O Vent

I / O vent er lettest å se via "toppen" kommandoen:

I skjermbildet ovenfor har jeg fremhevet I / O-ventetiden. Dette er en prosentandel av tiden som CPU-en ventet på inngangs- eller utgangskommandoer for å fullføre. Dette er vanligvis en indikasjon på høy diskaktivitet. Selv om en høy venteprosent alene ikke kan redusere CPU-bundne oppgaver betydelig, vil det redusere I / O-ytelsen for andre oppgaver og få systemet til å føle seg svak.

Høy I / O-venting uten noen åpenbar årsak kan indikere et problem med en disk. Bruk kommandoen “dmesg” for å se om det har oppstått feil.

Kjerne vs. System tid

Ovenstående uthevede verdier representerer brukerens og kjernetiden (systemet). Dette er en oversikt over det totale forbruket av CPU-tid av brukerne (i.e. applikasjoner osv.) og kjernen (i.e. interaksjon med systemenheter). Høyere brukertid vil indikere mer CPU-bruk av programmer der høyere kjernetid vil indikere mer behandling på systemnivå.

En ganske gjennomsnittlig belastning

Å lære forholdet mellom belastningsgjennomsnitt og faktisk systemytelse tar tid, men kort tid ser du en tydelig sammenheng. Bevæpnet med komplikasjonene til systemytelsesmålinger, vil du kunne ta bedre beslutninger om maskinvareoppgraderinger og programressursutnyttelse.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...