Witaj na blogu prowadzonym przez Sebana. Spisuję tutaj swoje uwagi na różny temat. Przeważają tematy związane z Internetem, popieranymi przeze mnie rozwiązaniami dotyczącymi wykorzystania komputerów, oraz kilka innych. Przeczytasz tu również recenzje książek IT.
Load average
19 sierpnia 2006 | Klucze:
4 komentarze. trackback
Ostatnimi czasy zacząłem się zastanawiać co oznaczają wartości load average. Początkowo myślałem, że jest to obciążenie pod jakim pracuje procesor. Jednak za nic nie mogłem sobie sam wytłumaczyć dlaczego są aż trzy wartości i czemu są tak niskie nawet gdy komputer ewidentnie jest czymś zajęty.
Proces, kolejka
Proces jest to nic innego jak uruchomiony program widziany przez system operacyjny. Proces może znajdować się w różnych stanach. Załóżmy, że istnieją sobie dwa procesy procesA i procesB. Gdy procesA ma dostęp do procesora, procesor zajmuje się nim w tej chwili, to procesB czeka aż zwolni procesor zostanie zwolniony przez procesA. Gdy procesA musi na przykład coś odczytać z dysku to zwalnia procesor dla następnego, który czeka, wtedy procesB zajmuje jego miejsce, a procesA czeka za danymi z dysku i nie obciąża procesora. W systemie z jednym CPU może być wiele procesów ,,czekających`` na swoj czas procesora, ale może być tylko jeden proces zajmujący CPU w tej chwili. Procesy czekające trafiają do kolejki. Jest to wielozadaniowość.
loadavg
Gdy wyjaśnione są podstawowe pojęcia można przystąpić do definicji load average. Man top mówi lakonicznie:
trzy miary obciążenia systemu. Określaja one średnią liczbę procesów gotowych do uruchomienia w ostatniej minucie, ostatnich 5 i 15 minutach.Czyli loadavg jest to ilość procesów czekających na swoją kolej dostępu do precesora w ostatnich n minutach. i to odpowiednio 1, 5, 15 minut. Przykładowe loadavg wygląda tak: seban@syrius:~% uptime
19:40:20 up 2:13, 3 users, load average: 0.17, 0.35, 0.54 Interpretacja typu: przez ostatnie 15 minut na wykonanie czekało pół procesu jest mylna. Tim O'Reilly w książce ,,UNIX Power Tools`` pisze:
The load average tries to measure the number of active processes at any time.Zwracam uwagę na ,,any time''. Sposób obliczania tej wartości nie jest tak całkiem prosty i na pewno nie jest zorozumiały dla przeciętnego klikacza. Jednak jest on opisany na stronach teamquest.com.
Wyszukane
Informacje do tego wpisu czerpałem głównie z:
- zasoby teamquest.com
Nic tu odkrywczego nie ma, ale jednak kogo ze znajomych bym nie zapytał to nie wiedział. Jeśli znajdują się tu jakieś błędy bardzo proszę o poprawienie mnie.
KOMENTARZE
19 sierpnia 2006 | grzywacz |
19 sierpnia 2006 | grzywacz |
19 sierpnia 2006 | seban |
19 sierpnia 2006 | grzywacz |
