Contenu | Rechercher | Menus

Annonce

La nouvelle clé USB Ubuntu-fr est en prévente
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/12/2007, à 16:35

Sysko le prospecteur

Connaitre charge cpu

bien le bonjour 

j'écris actuellement un script  qui m'affiche les différentes statistiqes du système  et j'aimerais savoir 

qu'elle commande  peut me donner la consonsomation du (des cpu ) , je parle bien de commande  je  ne veux pas un utilitaire ^^

et  je  voudrais  que celle  s'affiche du genre

echo   'le(s) cpu(s) sont utilité à  $charge_cpu  %'

je sais qu'elle se trouve dans top  et  qu'avec  ps aux  on  peut l'obtenir en additionant  tout  les champs %cpu mais  je  ne vois pas comment faire

d'avance merci


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#2 Le 27/12/2007, à 17:05

rhodry

Re : Connaitre charge cpu

Bonjour.

Dans une console:

top

Les premières lignes te donnent la charge globale. les ligne suivantes le détail par processus.

A+

Edit: Ne tiens pas compte de ce que je viens d'écrire. j'ai bien peur d'avoir mal lu ton message. désolé:(

Dernière modification par rhodry (Le 27/12/2007, à 17:07)

Hors ligne

#3 Le 27/12/2007, à 17:45

rhodry

Re : Connaitre charge cpu

Peut être la commande

sar -U

Il existe aussi une commande vsar mais je ne trouve pas de doc dessus.

A+

Hors ligne

#4 Le 27/12/2007, à 17:55

iuchiban

Re : Connaitre charge cpu

Et avec http://doc.ubuntu-fr.org/conky???

Tu veux faire quoi avec ton script??


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#5 Le 27/12/2007, à 18:32

pascal50

Re : Connaitre charge cpu

Peut être à  partir de :

top -n1 | grep 'Cpu(s)'

Le complément de % idle doit correspondre à  ce que tu cherches ?

Dernière modification par pascal50 (Le 27/12/2007, à 18:33)

Hors ligne

#6 Le 27/12/2007, à 18:51

Sysko le prospecteur

Re : Connaitre charge cpu

en fait  c bon  j'ai  utilisé
vmstat | grep [0-9] | awk '{print \" le(s) cpu sont utilises a \" 100 - $15 \"%\"}

et  voili  merci quand même


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#7 Le 27/12/2007, à 18:59

pascal50

Re : Connaitre charge cpu

j'en était là  :

top -n1 | grep 'Cpu(s)'| awk '{print $5;}' | sed -e 's/id,//g'

ce qui donne : 81.7%
Mais je n'arrive pas à  enlever le "%" avec sed, même en préfixant avec un "\" dans le motif. Pourtant il n'est pas un méta caractère semble t il ?
On pourrait enchainer un calcul en float avec bc

Hors ligne

#8 Le 28/12/2007, à 21:22

Sysko le prospecteur

Re : Connaitre charge cpu

hum  c'est étrange  mais  ta commande pascal  me donne toujours une consomation du  cpu de  50.9  %  , ce qui correspond  à   la première  valeur que prend top  avant  de  se stabiliser vers des  valeurs plus normal  ( de  l'ordre de 90 % de non utilisé )


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#9 Le 28/12/2007, à 22:21

pascal50

Re : Connaitre charge cpu

Donc elle consomme 40% du cpu ?
Je n'ai pas ce comportement (sous gentoo). Je n'ai pas de différence notable entre le idle% fourni par "top" et par
"top -n1 | grep 'Cpu(s)'| awk '{print $5;}' | sed -e 's/id,//g'"

Mais le "top", c'est pas terrible car cette commande produit des caractères supplémentaires que l'on ne voit pas à  la console. Je m'en suis aperçu en redirigeant la sortie de top -n1 dans un fichier texte et en l'éditant avec kwrite. Ce qui doit me "pourrir" le filtre pour éliminer le %.

j'en suis là  (ça devient une usine à  gaz, mais j'ai du temps de libre !):

A=$(top -n1 | grep 'Cpu(s)'| awk '{print $5;}' | sed -e 's/id,// ; s/%// ; s/[^[:digit:]\.]//g'); (echo "100.0 - $A" )

J'ai un doute : bash ne fait du calcul arithmétique qu'avec des entiers ?

Autre piste (?) : j'ai jeté un Å“il dans /proc/stat mais je ne sais pas interpréter.

Modif : /proc/loadavg donne les moyennes sur 1, 5 et 15 min
http://ftp.traduc.org/doc-vf/gazette-li … 115-E.html
http://linuxfr.org/forums/26/18799.html

Dernière modification par pascal50 (Le 28/12/2007, à 22:31)

Hors ligne

#10 Le 28/12/2007, à 22:48

pascal50

Re : Connaitre charge cpu

Pour top il faut utiliser l'option -b pour eviter les caractères spécifiques à  la console

J'ai trouver ce lien pour les charges :
http://www.luv.asn.au/overheads/NJG_LUV … lides.html

Dernière modification par pascal50 (Le 28/12/2007, à 22:48)

Hors ligne

#11 Le 29/12/2007, à 02:38

pascal50

Re : Connaitre charge cpu

Voici o๠j'en suis (cela m'a permi quelques révisions !) :

echo "100.0 - $(top -b -n1 | grep 'Cpu(s)'| awk '{print $5;}' | sed -e 's/%id,//')" | bc -l

Mais tu as raison, c'est pas très fiable car j'ai un ecart de 11% sur les idles% comme le montre la commande suivante :

$ top -b -n5 | grep 'Cpu(s)'| awk '{print $5;}' | sed -e 's/%id,//'
85.6
97.0
96.0
97.0
97.0

Sur un système plus chargé l'écart doit normalement se réduire ...

Hors ligne

#12 Le 29/12/2007, à 15:01

pascal50

Re : Connaitre charge cpu

J'ai de meilleurs résultats avec la commande sar (du paquet sysstat) :

# sar
Linux 2.6.22-gentoo-r8 (poste02)        29.12.2007

11:13:08          LINUX RESTART

13:20:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:30:01         all      3,07        0,00      2,84        0,04         0,00        94,05
Moyenne:        all      3,07        0,00      2,84        0,04         0,00        94,05

Mais il y a encore un écart de 3 ou 4 % avec la valeur stabilisée de top sur un système peu chargé.
Je me suis inspiré de ça (Plugin Nagios pour vérifier la charge CPU) pour faire cette commande :

echo "100.00 - $(sar | /usr/bin/tail -n 2 | /usr/bin/head -n 1 | /bin/sed 's/\ \ */ /g' | cut -d' ' -f8 | /bin/sed 's/,/./g')" | bc -l

Hors ligne

#13 Le 29/12/2007, à 17:42

Sysko le prospecteur

Re : Connaitre charge cpu

^^  hé bé sa  en  fait des sacré commande ^^


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#14 Le 29/12/2007, à 18:11

pascal50

Re : Connaitre charge cpu

Avec ça tu as une valeur quasi instantanée :

echo "100.00 - $(sar 1 -P ALL | /usr/bin/tail -n 5| head -n1 | /bin/sed 's/\ \ */ /g' | cut -d' ' -f8 | /bin/sed 's/,/./g')" | bc -l

Si tu as plusieurs processeurs tu dois même pouvoir avoir des stats pour chacun d'eux. Et sar fait bien d'autres choses encore...(interfaces réseau, scheduler, mémoire...)

Hors ligne

#15 Le 29/12/2007, à 22:46

Sysko le prospecteur

Re : Connaitre charge cpu

Oki  oki  toujours  utilse  à avoir ce gener de petit  outils  sur  soi 

bon  après les fêtes je regarderais sa de plus près  ^^


Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles

Hors ligne

#16 Le 26/01/2019, à 10:00

pascal18250

Re : Connaitre charge cpu

Bonjour à tous .

Sysko le prospecteur, essai ceci . c'est plus préscis a mon goût bien sur .. wink

htop

Hors ligne