Saada todellinen SUORITTIMEN Kuormitus Keskimäärin Linux
Linux-Kuorma Keskiarvo on yhtä vanha kuin kukkulat, ja yhtä sekava, kuin muutaman insinöörit voi jopa kertoa teille, mitä se todella on tai miten se on laskettu.,
Onneksi Octavia Gregg on loistava yhteenveto myös sen historia, Linux Load Keskiarvot: Ratkaista Mysteeri, jossa voit nähdä ongelman ydin:
Linux-Kuorma Keskimäärin sisältää I/O –
Se on niin yksinkertaista. Toisin kuin kaikki muut Unixin kaltaiset järjestelmät (Solaris, AIX jne.), Linux laskee SEKÄ käynnissä/runnable prosesseja JA tukossa (ups) prosesseja, jotka ovat yleensä odottaa I/O. Tämä on huono asia, ja päivämäärät arkaainen 24-vuotias laastari, joka Octavia löytynyt.
Miksi me välitämme?,
Emme välitä, koska tahansa mixed-use-järjestelmä (käyttäen sekä CPU-ja I/O), jolloin Keskimääräinen Kuormitus on erittäin vaihteleva, ja usein hyödyttömiä. Tämä voi olla erityisen huono erittäin kierteitetyt järjestelmät, jotka voivat aiheuttaa I / O, joten on helppo olla kymmeniä tai satoja niitä estetty hitailla levyillä.
Mitä useimmat meistä todella haluavat on perinteinen Unix-mittaa Kuorman Keskiarvo, joka on keskimääräinen määrä runnable prosesseja keskimäärin yli aikaa. Tämä kertoo, kuinka ladattu järjestelmämme on, ja voimme tarkastella jonoa kylläisyyden mittana, ts., jatkuva CPU jono tarkoittaa W olemme ylikuormitettuja.
Niin, miten voimme saada sen?
Me todella haluamme CPU Ajaa Jonon pituus, joka tulee > 0, kun prosessit on odotettava CPU. Mutta se on vaikea saada tarkasti, ja Linux-kernel ei ole kovin ystävällinen tällä alalla.
Ensinnäkin, mitä Linux-ihmiset kutsuvat run jono sisältää käynnissä olevat tehtävät, joten se ei ole jonoa, mutta jono plus mitä on käynnissä. Se on hämmentävää, ja siksi sinun täytyy vähentää suorittimien määrää saadaksesi käsityksen todellisesta jonosta.,
useat työkalut voivat saada nykyisen hetkellisen juoksujononon koon. Näin osoittavat vmstat” r ”- sarake ja” sar-q”; molemmat saavat tämän /proc/Statin procs_running-metriikasta.
ongelma on, että tämä on hetkellinen laskea, joten se on hyvin meluisa ja pitää keskimäärin saada hyödyllistä tietoa, mutta ydin ei tehdä tämän sinulle. Ihannetapauksessa olisi ytimen lähtö / proc vain CPU ja I / O vain ladata keskiarvoja, mutta kukaan ei ole luonut tätä vielä.,
tarvitsemme Siis työkalu, joka yrittää jäljitellä miten Ladata Keskiarvo toimii, nopeasti näytteenoton tässä hetkessä ajaa jonon koko, ja keskimäärin tämän ajan.
Esittelyssä runqstat
runqstat tekee tämän — se on yksinkertainen komentorivi työkalu kirjoitettu Mennä, että oletuksena näytteitä tämän jonon koko, joka 10ms ja keskiarvot tässä yli yhden sekunnin. Tavoitteena on vakaa ja tarkka mittari siitä, kuinka kiireinen järjestelmä on.,
Se sisältää vaihtoehtoja muuttaa näytteenottotaajuus ja keskimäärin aikaa, plus vähennä määrä Suorittimia, joten voit vain nähdä todellinen jonon kokoa, jos haluat.
sillä on myös mahdollisuus laskea keskimääräinen estetty määrä, joka teoriassa voit vähentää kuorman keskiarvosta saadaksesi erilaisen kuvan suorittimen kylläisyydestä (ja nähdä, kuinka paljon ongelmia kuormitus keskimäärin aiheuttaa).
tällä työkalulla ops-tiimeillä on vihdoin hyvä tapa seurata Linux-palvelimiensa kylläisyyttä.
etsi se GitHub-runqstatista