Bonjour à tous.
Je rencontre un problème avec top.
J’espérait m’en servir pour récupérer le pourcentage d’utilisation du processeur, malheureusement, c’est pas top (sans jeu de mot bien sûr ):
#top -bn 1 | grep Cpu
Cpu(s): 81.1%us, 6.4%sy, 0.0%ni, 4.9%id, 6.9%wa, 0.6%hi, 0.1%si, 0.0%st
#top -bn 1 | grep Cpu
Cpu(s): 81.1%us, 6.4%sy, 0.0%ni, 4.9%id, 6.9%wa, 0.6%hi, 0.1%si, 0.0%st
#top -bn 1 | grep Cpu
Cpu(s): 81.1%us, 6.4%sy, 0.0%ni, 4.9%id, 6.9%wa, 0.6%hi, 0.1%si, 0.0%st
#top -bn 1 | grep Cpu
Cpu(s): 81.1%us, 6.4%sy, 0.0%ni, 4.9%id, 6.9%wa, 0.6%hi, 0.1%si, 0.0%st
Toujours les mêmes valeurs, quelque soit l’instant où je l’exécute…
Pourtant:#top -b | grep Cpu
Cpu(s): 81.1%us, 6.4%sy, 0.0%ni, 4.9%id, 6.9%wa, 0.6%hi, 0.1%si, 0.0%st
Cpu(s): 92.4%us, 7.6%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu(s): 92.4%us, 7.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
Cpu(s): 80.8%us, 8.3%sy, 0.0%ni, 0.0%id, 10.3%wa, 0.3%hi, 0.3%si, 0.0%st
Là ça marche, mais c’est inutilisable dans un script…
Remarquez que la 1ère valeur est encore et toujours la même…
En relançant la commande, on retrouve encore la même valeur, seules les suivantes sont différentes… A n’y rien comprendre…
Quelqu’un aurait une chtite idée pour résoudre ce problème?
Sans doute qu’il existe maintenant des outils beaucoup plus sophistiqués que top, maintenant. jettes un coup d’oeil ici:
[quote=“http://perso.orange.fr/sebastien.godard/download.html”]The sysstat package contains utilities to monitor system performance and usage activity. Sysstat contains various utilities, common to many commercial Unixes, and tools you can schedule via cron to collect and historize performance and activity data.
* iostat reports CPU statistics and input/output statistics for devices, partitions and network filesystems.
* sar collects, reports and saves system activity information (CPU, memory, disks, interrupts, network interfaces, TTY, kernel tables,etc.)
* sadc is the system activity data collector, used as a backend for sar.
* sa1 collects and stores binary data in the system activity daily data file. It is a front end to sadc designed to be run from cron.
* sa2 writes a summarized daily activity report. It is a front end to sar designed to be run from cron.
* sadf displays data collected by sar in multiple formats (CSV, XML, etc.) This is useful to load performance data into a database, or import them in a spreadsheet to make graphs.
* mpstat reports individual or combined processor related statistics.
* pidstat reports statistics for Linux tasks (processes).[/quote]
[code]debian:/home/jcode# iostat
Linux 2.6.21-grsec (debian) 12.06.2007
avg-cpu: %user %nice %system %iowait %steal %idle
21,91 1,36 2,64 0,61 0,00 73,49
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 5,57 75,25 128,35 853254 1455470
hdb 0,00 0,02 0,00 181 0
debian:/home/jcode# mpstat
Linux 2.6.21-grsec (debian) 12.06.2007
21:17:12 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
21:17:12 all 21,89 1,36 2,55 0,61 0,08 0,01 0,00 73,51 268,62
debian:/home/jcode# mpstat
Linux 2.6.21-grsec (debian) 12.06.2007
21:17:20 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
21:17:20 all 21,87 1,36 2,55 0,61 0,08 0,01 0,00 73,53 268,58
[/code]
Merki!
Ca marche niquel!
[size=59]Mais ça résoud pas le problème de top [/size]
je comprend pas, chez moi ça fonctionne :
$ top -bn1 | grep Cpu
Cpu(s): 38.8%us, 9.3%sy, 1.5%ni, 46.0%id, 4.2%wa, 0.1%hi, 0.0%si, 0.0%st
$ top -bn1 | grep Cpu
Cpu(s): 38.1%us, 9.1%sy, 1.5%ni, 47.0%id, 4.1%wa, 0.1%hi, 0.0%si, 0.0%st
Ben j’ai testé ça sur 4 machines différentes, 3 serveurs + mon PC perso, même résultat, toujours la même valeur. Alors qu’une des machines n’est pas du tout stable niveau CPU et se mange de jolis bonds. Bref…
J’ai remplacé top par mpstat, mais y’a encore quelque chose qui ne colle pas.
mpstat me paraît correct sur ma machine perso, mais pas sur mes serveurs, où les chiffres donnés sont toujours et invariablement les mêmes.
J’ai donc monitoré le load average, y’a pas photo, il devrait y avoir des changements d’utilisation du CPU, avec un load variant entre 1 et 3.
J’ai donc continuer mes investigations et monitoré le contenu de /proc/stat.
On y voit bien des pics, et une valeur moyenne d’occupation de 50% quand mpstat le donne à 40%. Mais le contenu de /proc/stat est mystérieux et j’ai des doutes qu’il représente bien l’utilisation du processeur…
Bref, qui croire? top, mpstat, uptime ou /proc/stat?
Oui c’est embêtant de pas savoir à quel sain se vouer …
C’est interessant, comment tu monitores ça ? tu utilises un logiciel tout fait qui reçoit en paramètre la commande, par exemple mpstat, et qui crée le graphe, ou tu as tout fait toi même à partir de rddtool si je ne m’abuse ?
C’est simplement un démon bash qui tourne en permanence et rempli les archives rrdtools à intervalles réguliers.
L’affichage est gérer en php, avec appel d’un script bash pour rafraichir les graphiques avant affichage.
Et c’est tout fait avec mes petits doigts
Si ça t’intéresse, je peux te filer les sources.
bien sur que ça m’interesse
tu as fait l’équivalent d’un munin avec tes petits doigts, du bash du php ? mais tu es trés polivalent dis-moi ?
Tu as pas ton site pour afficher un lien vers les sources ?
ça pèse combien en tout ?
c’est juste 4 graphes, ou tu nous caches des choses ?
En tous cas chapeau déjà !
Pour l’instant y’a que 4 graphes de gérés, mais à terme, je compte me monter tout un monitoring serveur. J’y vais petit à petit.
Pour les sources, http://www.e-univers.org/~aeris/monitoring.zip.
Ca ne pèse que 6ko
Sinon, je commence à avoir de plus en plus de doute sur mpstat et consort…
Load à 4, CPU chargé à 130% d’après /proc/stat, et mpstat m’annonce toujours un joli 40% d’utilisation cpu…