Înțelegerea încărcării medii pe Linux

Understanding Load Average Linux



Media de încărcare este o măsurare a cantității de muncă față de ciclurile CPU disponibile gratuit pe un procesor de sistem. În acest articol voi defini termenul, voi demonstra modul în care Linux calculează această valoare, apoi voi oferi informații despre cum să interpretăm încărcarea sistemului.

Înainte de a ne scufunda în mediile de încărcare Linux, trebuie să explorăm diferitele moduri în care este calculată încărcarea și să abordăm cea mai obișnuită măsurare a încărcării procesorului - un procent.







Windows calculează încărcarea diferit de Linux și, din moment ce Windows a fost din punct de vedere istoric mai popular pe desktop, definiția Windows a încărcării este în general înțeleasă de majoritatea utilizatorilor de computere. Majoritatea utilizatorilor de Windows au văzut încărcarea sistemului în managerul de activități afișat ca procent de la 0% la 100%.



În Windows, acest lucru se obține examinând cât de ocupat este Procesul inactiv al sistemului este și folosind inversul pentru a reprezenta încărcarea sistemului. De exemplu, dacă firul inactiv execută 99% din timp, încărcarea procesorului în Windows ar fi de 1%. Această valoare este ușor de înțeles, dar oferă mai puține detalii generale despre starea reală a sistemului.



În Linux, media de încărcare este reprezentată în schimb de un număr zecimal care începe de la 0,00. Valoarea poate fi definită aproximativ ca numărul de procese din ultimul minut care au trebuit să-și aștepte rândul pentru executare. Spre deosebire de Windows, media de încărcare Linux nu este o măsurare instantanee. Încărcarea este dată în trei valori - media de un minut, media de cinci minute și media de cincisprezece minute.





Înțelegerea medie a încărcării în Linux

La început, acest strat suplimentar de detalii pare inutil dacă pur și simplu doriți să cunoașteți starea actuală a încărcării procesorului în sistemul dvs. Dar din moment ce sunt date mediile a trei perioade de timp, mai degrabă decât o măsurare instantanee, puteți obține o idee mai completă a schimbării încărcării sistemului în timp într-o singură privire de trei numere

Afișarea mediei de încărcare este simplă. Pe linia de comandă, puteți utiliza o varietate de comenzi. Pur și simplu folosesc comanda w:



rădăcină@Fecioara[~]# în
douăzeci și unu: 08:43sus38zile,4:3. 4,4 utilizatori, medie de încărcare:3.11,2,75,2,70

Restul comenzii va afișa cine s-a conectat și ce execută, dar în scopul nostru aceste informații sunt irelevante, așa că le-am retras de pe afișajul de mai sus.

Într-un sistem ideal, niciun proces nu ar trebui susținut de un alt proces (sau fir), ci într-un sistem cu un singur procesor, acest lucru se întâmplă atunci când sarcina depășește 1,00.

Cuvintele sistem cu un singur procesor sunt extrem de importante aici. Cu excepția cazului în care rulați un computer antic, aparatul dvs. are probabil mai multe nuclee CPU. În aparatul pe care îl folosesc, am 16 nuclee:

rădăcină@Fecioara[~]# nproc
16

În acest caz, o medie de încărcare de 3,11 nu este deloc alarmantă. Înseamnă pur și simplu că un pic mai mult de trei procese erau gata de executare și miezurile CPU erau prezente pentru a gestiona execuția lor. Pe acest sistem particular, sarcina ar trebui să ajungă la 16 pentru a fi considerată la 100%.

Pentru a traduce acest lucru într-o încărcare de sistem bazată pe procente, puteți utiliza această comandă simplă, dacă nu obtuză:

pisică /la sută/loadavg| a tăia -c 1-4 | aruncat 'scala = 2; ($ (/`nproc`) * 100 ' | bc -la

Această secvență de comandă izolează media de 1 minut prin tăiere și o repetă, împărțită la numărul de nuclee CPU, prin bc, un calculator de linie de comandă, pentru a obține procentul.

Această valoare nu este nicidecum științifică, dar oferă o aproximare aproximativă a încărcării procesorului în procente.

Un minut de învățat, o viață de masterat

În secțiunea anterioară am pus 100% exemplul unei încărcări de 16,0 pe un sistem de bază de 16 CPU între ghilimele, deoarece calculul încărcării în Linux este puțin mai nebulos decât Windows. Administratorul de sistem trebuie să țină cont de faptul că:

  • Încărcarea este exprimată în procese și fire de așteptare
  • Nu este o valoare instantanee, mai degrabă o medie și
  • Interpretarea trebuie să includă numărul de nuclee CPU și
  • Poate supra-umfla I / O așteaptă ca citirea pe disc

Din această cauză, obținerea unui control al încărcării CPU pe un sistem Linux nu este în întregime o problemă empirică. Chiar dacă ar fi, sarcina CPU singură nu este o măsurare adecvată a utilizării globale a resurselor sistemului. Ca atare, un administrator cu experiență Linux va lua în considerare încărcarea procesorului împreună cu alte valori, cum ar fi așteptarea I / O și procentul de nucleu față de timpul sistemului.

I / O Așteptați

Așteptarea I / O este văzută cel mai ușor prin comanda de sus:

În captura de ecran de mai sus am evidențiat valoarea de așteptare I / O. Acesta este un procent de timp pe care CPU îl aștepta la finalizarea comenzilor de intrare sau ieșire. Acest lucru este de obicei indicativ al activității ridicate pe disc. În timp ce un procent ridicat de așteptare singur poate să nu degradeze în mod semnificativ sarcinile legate de CPU, acesta va reduce performanța I / O pentru alte sarcini și va face ca sistemul să se simtă lent.

Așteptarea ridicată a I / O fără o cauză evidentă ar putea indica o problemă cu un disc. Utilizați comanda dmesg pentru a vedea dacă au apărut erori.

Kernel vs. System Time

Valorile evidențiate mai sus reprezintă timpul utilizatorului și al nucleului (sistem). Aceasta este o defalcare a consumului total de timp CPU de către utilizatori (adică aplicații etc.) și nucleu (adică interacțiunea cu dispozitivele de sistem). Timpul mai mare al utilizatorului va indica o utilizare mai mare a procesorului în cadrul programelor în care timpul mai mare al nucleului va indica mai multă procesare la nivel de sistem.

O încărcătură destul de medie

Învățarea relației dintre media de încărcare și performanța reală a sistemului necesită timp, dar în scurt timp veți vedea o corelație distinctă. Înarmat cu complexitatea valorilor performanței sistemului, veți putea lua decizii mai bune cu privire la actualizările hardware și la utilizarea resurselor programului.