Newsgroup: it.comp.os.linux.sys
Titolo: Load average

Ciao a tutti.
Ho un load average di 10.36, 10.77, 10.98.
Come posso capire da cosa è così tanto occupata la CPU?
Top non mi dice niente di speciale, perchè nessun processo va sopra
l'1% di CPU..
Grazie mille!
Ciao
Decibel.

 l'1% di CPU..
Come ho spiegato mille volte, il load NON è in alcun modo legato
all'occupazione della CPU. 
il load average è il numero medio di PROCESSI che chiede priorità, per ogni
secondo, negli ultimi X minuti.
L'occupazione di CPU la si vede con top o con sar e ci sono i dati dedicati
a quella voce.
Semplicemente, hai la macchina che sta facendo un casino di lavoro.
Se il dato è fuori media (la media della tua macchina che normalmente è più
scarica) il problema sta altrove.
Se la CPU è scarica (top, vedi in alto, perchè magari hai 100 processi che
succhiano l'1%) il problema potrebbe essere qualcosa di "alluppato" che
prova a forkare figli che muoiono subito.
Usa anche iostat per vedere lo stato del disco e analizzare se ci sono
cogli di bottiglia.
Tra l'altro, ho visto macchine girare tranquillamente con load di 100 e
più. Ed era giusto così.
Cerca nei post precedenti che se ne è parlato più volte.
-- 
A: Because we read from top to bottom, left to right.
Q: Why should i start my reply below the quoted text?

 più. Ed era giusto così.
Ho letto un po' di documentazione varia (pagina di man e alcuni siti) sul
load avg però non mi è ancora chiara una cosa: in una configurazione
multiprocessore il load è da leggersi in maniera differente? Ovvero, se una
macchina con 1 proc con 10 va molto carica, una con due andrà la metà di
carica? O è slegata dal numero di processori? Lo so che è il numero di
processi in coda, però nella coda di tutte le CPU?
-- 
Vide

 multiprocessore il load è da leggersi in maniera differente?
Non mi sono mai posto il problema.
E sinceramente la mano sul fuoco non la posso mettere.
Provo quindi a darti una risposta: suppongo che sia uguale. 
Dopotutto, su un sistema, il numero di processi che in un secondo chiedono
priorità è indipendente dal numero di processori.
Piuttosto, se una macchina ha il load fisso a 100, con un processore sarà
lui a smazzarsi tutto il carico, con due invece si ripartiranno il lavoro.
Ma il numero di processi rimarrà sempre quello.


 secondo, negli ultimi X minuti.
Il load per quanto ne so e' la somma dei processi nella run queue piu'
quelli attivi.
Il load average sono i numeretti riportati nell'output di uptime, w,
ecc. e sono le medie del load negli ultimi 1/5/15 minuti.
Per cui ne discende che tendenzialmente finche' loadavg <= numero_di_cpu
non hai mediamente processi in attesa di esecuzione.
O sbaglio?
ciao
-- 
Luca Corti
PGP Key ID 1F38C091
Adesso dico: "Fede."

 O sbaglio?
Non sbagli, ma potresti avere un carico pari a 100 perchè hai 100 processi
che provano ad accedere ad un NFS remoto e sono bloccati: sarebbe brutto da
vedere, ma non rappresenterebbe carico.
-- 
Per rispondermi, togli il nome del poeta

 non hai mediamente processi in attesa di esecuzione.
Eh, è quello che ho capito anche io leggendo la varia documentazione in
materia, da cui la mia domanda dell'altro post.
-- 
Vide
"Si es verdad que existe un Dios, que trabaje de sol a sol." (Mago de Oz)
NP: Nulla

 ecc. e sono le medie del load negli ultimi 1/5/15 minuti.
load senza average non ha senso pratico e non ha nessun trend.
Nel link che incollo, la tua definizione è applicata al load average, non al
load.
Quindi facciamo un pò di chiarezza (anzi facciamola fare).
da 
http://www.luv.asn.au/overheads/NJG_LUV_2002/luvSlides.html
How the Guru's Define LOAD ...
Tim O'Reilly and Crew, p.726
    The load average tries to measure the number of active processes at any
time. As a measure of CPU utilization, the load average is simplistic,
poorly defined, but far from useless. 
Adrian Cockcroft, p.229
    The load average is the sum of the run queue length and the number of
jobs currently running on the CPUs. In Solaris 2.0 and 2.2 the load average
did not include the running jobs but this bug was fixed in Solaris 2.3. 
Li ci sono un pò di considerazioni interessanti, pezzi di codice e grafici.


 da 
http://www.luv.asn.au/overheads/NJG_LUV_2002/luvSlides.html
Al di la' di come viene calcolato il load e' semplicemente un indice dei
processi in esecuzione e in attesa di esecuzione. Come fa notare Zefram,
dato che le operazioni di IO sono bloccanti, un load average alto o
basso non indica necessariamente un "carico" generale maggiore o minore
della macchina. E' il termine "load average" a trarre un po' in inganno.
ciao

 processi in esecuzione e in attesa di esecuzione.
Eh,ovvero quello che ho scritto nella prima risposta...
Spero che questo thread google se lo indicizzi per bene, così la domanda non
verrà fatta altre volte.


 della macchina. E' il termine "load average" a trarre un po' in inganno.
Quindi, in sostanza, se load average è 100 vuol dire che ci sono su
per giu 100 processi tra la run queue e quelli in esecuzione.
Di conseguenza più è corazzato il sistema meglio li sopporta.
(escludendo, ovviamente, il load average causato da problemi di rete
come già accennato da qualcuno dei quali 10 cpu e 20gb di ram non
risolverebbero nulla)