load average ... ca marche comment

load average ... ca marche comment - Hardware - Linux et OS Alternatifs

Marsh Posté le 31-12-2004 à 14:40:37    

bon si quelqu'un pouvait prendre le temps pour m'expliquer le fonctionnement du "load average" ca serait sympa.
dans mon le cas present j'ai un mahcin bi-xeon hyper-threading...
 
voila ce que je croyais avoir compris :

les load average peuve monter jusque 4 ... ca reste acceptable puisque 4 CPU c'est bien comme ca que ca marche ?
c le nb de process moyen en file ? donc comme j'ai 4 cpu, je peux traité 4 taches en meme temps,


 
olivier

Reply

Marsh Posté le 31-12-2004 à 14:40:37   

Reply

Marsh Posté le 31-12-2004 à 16:05:35    

Oui c'est ça.

Reply

Marsh Posté le 04-01-2005 à 14:30:36    

c'est aussi simple ?
sur le forum un gars m'a dit que c'etait plus suptile que ca...

Reply

Marsh Posté le 04-01-2005 à 14:51:50    

Ça m'interesse aussi. D'apres vous, le load average ne peut pas dépasser le nombrre de processeurs logiques ? Pourtant sur mon athlon, je fais plus de 2.  
Si quelqu'un a plus d'explications...

Reply

Marsh Posté le 04-01-2005 à 14:55:06    

on peut faire plus que le nm de processeur mais la machine est surchargé et ne peut pas repondre au demande rapidement.
en gros ca rame :D

Reply

Marsh Posté le 04-01-2005 à 14:58:02    

Si je dis pas de conneries...
ca correspond a la charge par rapport a 1 cpu.
avec un load average de 1, ta machine est suffisagement chargée pour qu'un cpu soit occupé a 100% de son temps.
Si tu as un load average de 0,5 ca veut dire qu'en moyenne
ton cpu est occupe qu'a 50%.
Si, au contraire, ton load average est de 2 alors que tu n'a
qu'un cpu, ca veut dire que ton cpu est evidement a 100% mais qu'en gros tu lui donne 2 fois trop de boulot, chaque process passe bcp de temps a attendre de pouvoir etre executé, alors qu'avec une valeure de 1, les process occupe le cpu a fond mais ils attendent pas trop.
(je sais pas si je suis clair :D )
 
Dans un systeme multiproc, bein ca marche pareil..
sauf que tu divise le load average par le nombre de cpu
(exemple, si ton load average est de 6 et que t'a 4 cpu,
bein ton load average est de 6/4, autrement dit un peu superieur a 1, autrement dit ta machine elle est trop chargée)

Reply

Marsh Posté le 04-01-2005 à 15:05:33    

ok,
 
ca me semble clair et ca conforte ce que je croyais.
pour 4 CPU je dois pas depasser un load average de 4...
sinon ca rame !
 
 
 

Reply

Marsh Posté le 04-01-2005 à 15:13:15    

Merci pour toutes ces explications.
Donc dans le cas où le load average est supérieur au nombre de processeurs, certains processus sont "mis en attentes" ?
Et je suppose que ce sont ceux qui ont la priorité/nice la plus faible qui s'executent en priorité ?
Si mon ordi ne "rame" pas, malgré mon load average de 2.5, c'est parceque firefox (par exemple) a la priorité sur seti@home (nice 15) ?


Message édité par vlack le 04-01-2005 à 15:13:52
Reply

Marsh Posté le 04-01-2005 à 15:19:44    

Alana a écrit :

Si, au contraire, ton load average est de 2 alors que tu n'a
qu'un cpu, ca veut dire que ton cpu est evidement a 100% mais qu'en gros tu lui donne 2 fois trop de boulot, chaque process passe bcp de temps a attendre de pouvoir etre executé, alors qu'avec une valeure de 1, les process occupe le cpu a fond mais ils attendent pas trop.

Ce n'est pas si simple. Ce que tu décris est vrai pour le cas où tous les processus ne feraient que du calcul brut, mais dans la vraie vie ce n'est pas le cas.
 
Le load, c'est le nombre de processus éligibles par le scheduler, point. Le fait qu'il soit supérieur à 1 implique que le scheduler doit souvent choisir entre plusieurs processus, mais ça n'implique pas forcément que la machine soit totalement surchargée. Pour le cas d'un serveur web, tu peux avoir plein de requêtes qui ne nécessitent pas de gros temps de calcul mais des accès disque ou réseau. Elles génèrent quand même du load parce qu'elles arrivent toutes en même temps. Dans ce genre de cas, Linux supporte un load de 40 sans broncher ; bon, d'accord, c'est bien le seul.

Reply

Marsh Posté le 04-01-2005 à 16:02:20    

Merci Jar Jar pour ces precisions, perso je voulai juste donner une idée un peu plus clair de ce que c'etait que cette chose la, loin de moi l'idée de pretendre qu'on peut juger de l'etat de charge d'un systeme avec une seule valeure ;)

Reply

Marsh Posté le 04-01-2005 à 16:02:20   

Reply

Marsh Posté le 04-01-2005 à 16:02:58    

vlack : ouaip :)

Reply

Marsh Posté le 04-01-2005 à 16:53:02    

Jar Jar a écrit :

Ce n'est pas si simple. Ce que tu décris est vrai pour le cas où tous les processus ne feraient que du calcul brut, mais dans la vraie vie ce n'est pas le cas.
 
Le load, c'est le nombre de processus éligibles par le scheduler, point. Le fait qu'il soit supérieur à 1 implique que le scheduler doit souvent choisir entre plusieurs processus, mais ça n'implique pas forcément que la machine soit totalement surchargée. Pour le cas d'un serveur web, tu peux avoir plein de requêtes qui ne nécessitent pas de gros temps de calcul mais des accès disque ou réseau. Elles génèrent quand même du load parce qu'elles arrivent toutes en même temps. Dans ce genre de cas, Linux supporte un load de 40 sans broncher ; bon, d'accord, c'est bien le seul.


oue donc ça dépend aussi du nombre de processus en fait


---------------
:: Light is Right ::
Reply

Marsh Posté le 04-11-2006 à 21:31:10    

Bonjour à tous.
 
Il y a une interprétation trés simple du load average.
 
entre 0 et 1, le système réspire à plein poumon. son rendement est optimal.
> à 1 il commence à passer ces process en file d'attente. C'est à ce moment là que la dégradation commence
Et cela quelque soit le monbre de CPU's.  


---------------
"Change the way you think.  Think what you could change."
Reply

Marsh Posté le 27-01-2007 à 17:20:32    

Dans ce cas comment expliquer que le cpu peut etre a 20% (en continu) et la charge (load average) a 4 ?
Merci.

Reply

Marsh Posté le 27-01-2007 à 18:22:29    

Là dedans, les temps d'attente sont comptabilisés aussi. si on lance Top, c'est la rubrique "waiting". C'est à dire les périodes où le CPU attend qu'un objet physique (typiquement un disque) réponde à un demande.
Bien entendu, comme c'est vu avec une priorité très faible, cela n'est pas pénalisant, mais c'est comptabilisé quand même.
 

Reply

Marsh Posté le 27-01-2007 à 19:06:39    

donc dans le cas ou il y a 4 process ou threads qui attendent sur des IO réseau et un processus qui calcul on obtient mon example ?
C'est ce qui se passe quand on télécharge des truc sur les newsgroups (des trucs de 600 Mo par exmple :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed