loadavg na SMP

Cejka Rudolf cejkar na fit.vutbr.cz
Neděle Květen 19 18:26:02 CEST 2002


Stanislav Meduna <stano-cznews na meduna.org> wrote:
> Load average je priemerny pocet uloh schopnych v danom case bezat.

A dyt je to tady stale dokolecka - clovek to muze opakovat kolikrat
chce, ale stejne ho nikdo nevezme na vedomi - jsme v konferenci
o Linuxu a tohle plati pro Linux jen castene. Na Linuxu je load
average vetsi nebo roven "prumernemu" poctu uloh schopnych bezet
v danem case. Zpusob, jak moc vetsi ten rozdil je, hodne zavisi
na konkretni situaci. Muze byt ale velmi zkreslujici - klidne
10 misto 1, zadny problem.

> Moze kludne nastat situacia, kedy bude load average 1 a pocitac
> nebude stihat plnit svoje ulohy a rovnako aj load average 10,
> ked to stihat bude.

V Linuxu je to docela realne, ale jinde, kde se skutecne pocita
velikost run queue, si to moc dobre predstavit nedokazu - mam-li
na takovem systemu s 1 procesorem load 10, pak procesor proste
nestiha a tecka.

> To proste zalezi na type ulohy a architekture software, ktory
> ju riesi. Load average vyssi ako pocet procesorov znamena jedine -
> ze rychlejsi procesor by rieseniu danych uloh prospel.

S ohledem na "...load average 10, ked to stihat bude" mi tohle
nejak unika. Nebo byl myslen pocitac s 10 procesory?

Ale opet - v Linuxu to platit nemusi. Uz to tu bylo nekolikrat
a asi stale zbytecne. Divam se do zdrojaku 2.5.16 a smycka, ktera
load pocita, je stale stejna, takze nemam pocit, ze se to v Linuxu
uz zmenilo - nebo mi neco unika?

        for_each_task(p) {
                if ((p->state == TASK_RUNNING ||
                     (p->state & TASK_UNINTERRUPTIBLE)))
                        nr += FIXED_1;
        }

-- 
Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar
Brno University of Technology, Faculty of Information Technology
Bozetechova 2, 612 66  Brno, Czech Republic


Další informace o konferenci Linux