ja i moje hobby

O mnie

Ja
Piotr D.

Wiek: 25
Hobby: IT, DIY, rower, działka
XMPP: piotrek[na]pioder.pl
Email: piotrek[na]pioder.pl
GG: 6802998

Kalendarz

« Wrzesień 2018 »
P W S C P S N
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Rower

Dystans w sezonie:
  • 2008 - 336 km
  • 2009 - 949,4 km
  • 2010 - 1141,8 km
  • 2011 - 2224,1 km
  • 2012 - 1779,9 km
  • 2013 - 1155,3 km
  • 2014 - 1355,5 km
  • 2015 - 4518,1 km
  • 2016 - 4050,9 km
  • 2017 - 3637,5 km
  • 2018 - 2433,8 km (13.09)

Rekordy:
  • MXS: 74,2 km/h (8.04.18)
  • DST: 304,6 km (31.05.18)
  • AVS: 25,2 km/h (28.05.18)

GPSies

Grupa Turystyki Rowerowej Politechniki Krakowskiej

Styl

Subskrypcja

RSS Articles
RSS Comments

Licznik odwiedzin

96678

Czym jest właściwie loadavg?

Kategoria: IT
Wysłano: 08.10.2017 13:07, Edytowany: 04.02.2018 18:34

Cześć!
Dzisiaj chciałbym poruszyć kwestię ważnego parametru na systemach POSIX (Linux, Unix etc.) jakim jest load average (średnie obciążenie). Jak wygląda typowy load? Zobaczmy co mamy w pliku /proc/loadavg:
piotrek@piter-laptop:~$ cat /proc/loadavg
0.69 0.95 0.84 2/771 13831

Poszczególne liczby oznaczają kolejno: obciążenie w ciągu ostatniej minuty, pięciu minut i dziesięciu minut. Dalej mamy stosunek liczby aktualnie wykonywanych procesów do całkowej liczby procesów oraz ID ostatniego procesu. Większość osób skupia się jednak na pierwszych trzech liczbach. Na internecie można spotkać się z różnymi interpretacjami, generalnie sprowadzającymi się do jednej idei. Na przykład:
Jednostka LOAD
Jednostka pierwszych trzech wartości oznacza użycie procesora (ang. "CPU Load" ).

Na moc jednego wątku ( /rdzenia ) procesora przypada jedna jednostka LOAD.

W przypadku LOAD większego od (ilości) WĄTKÓW_CPU następuje spadek wydajności, ponieważ procesor jest w 100% obciążony, a programy generują większe obciążenie niż może on wykonać pracy. Powoduje to zmniejszenie wydajności pracy maszyny.

Żródło: dobreprogramy
(...) Natomiast cyfry oznaczają liczbę procesów wykonywanych w danej chwili i liczbę procesów czekających na dostęp do procesora.

Żródło: osworld
Jest to definicja częściowo poprawna, ale niepełna. Przyjrzyjmy się, w jakich stanach może znaleźć się proces:
PROCESS STATE CODES
R running or runnable (on run queue)
D uninterruptible sleep (usually IO)
S interruptible sleep (waiting for an event to complete)
Z defunct/zombie, terminated but not reaped by its parent
T stopped, either by a job control signal or because
it is being traced

Jednym z ważnych stanów jest właśnie stan D, czyli de facto proces czeka na zasoby I/O i nie musi to być koniecznie procesor, może czekać chociażby na dostęp do dysku.

Uściślając - loadavg pokazuje nam w zasadzie liczbę procesów zajmujących czas procesora lub czekających na zasoby w stanie D. Posiłkowanie się jedynie tym, że load oznacza wykorzystanie 100% czasu jednego rdzenia przez procesy jest błędem. Można mieć load 100, a procesor obciążony na 10% i w żadnym wypadku nie będzie to błąd systemu. Dość dobra definicja dostępna jest w dokumentacji Red Hata/CentOS'a:
3.2.16. /proc/loadavg
This file provides a look at the load average in regard to both the CPU and IO over time, as well as additional data used by uptime and other commands. A sample /proc/loadavg file looks similar to the following:

0.20 0.18 0.12 1/80 11206
The first three columns measure CPU and IO utilization of the last one, five, and 10 minute periods. The fourth column shows the number of currently running processes and the total number of processes. The last column displays the last process ID used.

Żródło: Red Hat Enterprise Linux Deployment Guide
Inna, też niezła definicja znajduje się na blogu /dev/random, choć nieco inaczej ujęta.

Mam nadzieję, że rozjaśniłem nieco temat :)

Pozdrawiam
Link Komentarze (0)



Powered by sBLOG XHTML 1.0 Strict PHP CSS
Cytowanie wypowiedzi oraz kopiowanie zdjęć z bloga bez informacji o źródle surowo zabronione!
Lokalny czas: 20.09.2018 00:07 GMT+1

Powered by sBLOG © 2006 Servous
Theme & mods: 2008-2017 © PioDer