wiki.deimos.fr Open in urlscan Pro
2606:50c0:8002::153  Public Scan

URL: https://wiki.deimos.fr/Sysstat_:_Des_outils_indispensable_pour_analyser_des_probl%C3%A8mes_de_performances.html
Submission: On November 28 via manual from FR — Scanned from FR

Form analysis 2 forms found in the DOM

https://wiki.deimos.fr/index.php

<form action="https://wiki.deimos.fr/index.php" id="searchform">
  <div id="simpleSearch">
    <input type="search" name="search" placeholder="Search" title="Search Deimos.fr / Bloc Notes Informatique [f]" accesskey="f" id="searchInput"><input type="hidden" value="Special:Search" name="title"><input type="submit" name="fulltext"
      value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"><input type="submit" name="go" value="Go" title="Go to a page with this exact name if exists" id="searchButton"
      class="searchButton">
  </div>
</form>

http://www.google.fr/cse

<form action="http://www.google.fr/cse" id="cse-search-box">
  <input type="hidden" name="cx" value="partner-pub-8001790276473966:7664586454">
  <input type="hidden" name="ie" value="UTF-8">
  <input type="text" name="q" size="12">
  <input type="submit" name="sa" value="Search">
</form>

Text Content

SYSSTAT : DES OUTILS INDISPENSABLE POUR ANALYSER DES PROBLÈMES DE PERFORMANCES

From Deimos.fr / Bloc Notes Informatique

Jump to: navigation, search


CONTENTS

 * 1 Introduction
 * 2 Installation
   * 2.1 Debian
   * 2.2 Red Hat
   * 2.3 Solaris
 * 3 iostat
   * 3.1 Linux
   * 3.2 Solaris
 * 4 sar
   * 4.1 Disques
   * 4.2 CPU
   * 4.3 Mémoire
   * 4.4 Swap
   * 4.5 Network
   * 4.6 Les IO
   * 4.7 Les processus
 * 5 FAQ
   * 5.1 sar: can't open /var/adm/sa/saXX : No such file or directory
 * 6 Ressources


Sysstat


1 INTRODUCTION

Sysstat est un package qui contient le binaire sar et iostat. Le dernier sert à
monitorer uniquement les IO disque, tandis que sar sert à monitorer à peu prêt
tout.


2 INSTALLATION


2.1 DEBIAN

Sous Debian, il va falloir installer sysstat :

aptitude

aptitude install sysstat




2.2 RED HAT

Sous Red Hat, il va falloir installer sysstat :

yum

yum install sysstat




2.3 SOLARIS

Sous Solaris, il va falloir utiliser les packages Sun Freeware pour trouver cet
outil :

pkg-get

pkg-get install CSWsysstat




3 IOSTAT

iostat va permettre de mesurer les I/O disque. S'il peut être très intéressant
de tester les perfs des disques montés sur vos machines, je vous conseil
d'utiliser screen afin de vous rendre compte de ce que celà donne en temps réel.


3.1 LINUX

Sous linux, voici comment l'utiliser sur le disque sda par exemple :

iostat

> iostat -x sda 1 5
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0,21    0,00    0,29    0,05    0,00   99,45 Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %utilsda               0,71     1,25    1,23    0,76    79,29    15,22    47,55     0,01    2,84   0,73   0,14 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,00    0,00    0,00    0,00    0,00  100,00
 
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0,00     0,00    1,00    0,00    16,00     0,00    16,00     0,00    1,00   1,00   0,10
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,00    0,00    0,00    0,00    0,00  100,00


 * -x : mode de statistiques étendues
 * 1 : Cela signifie que toutes les secondes, iostat va analyser les
   performances de tous les disques
 * 5 : Pendant 5 secondes

Les premières lignes de la commande iostat donne une moyenne des I/O depuis le
boot de la machine. Voici quelques explications sur les colonnes :

 * r/s : opérations en lecture par seconde
 * w/s : opérations en écriture par seconde
 * await : temps d'attente (r/s + w/s)

Pour savoir si on a des lectures/écritures séquentielles sur le disque :

 * rrqm/s : nombre de requêtes mergées par secondes en lecture
 * wrqm/s : nombre de requêtes mergées par secondes en écriture

Plus les lectures sont séquentielles, plus la rapidité sera présente (sur
disques non SSD), plus les secteurs seront dispersés, plus l'attente sera
longue.

Pour tester, voici quelques infos utiles[1] :

 * Advise to drop cache for whole file

dd

dd if=ifile iflag=nocache count=0


 * Ensure drop cache for whole file

dd

dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0


 * Drop cache for part of file

dd

dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null


 * Stream data just using readahead cache

dd

dd if=ifile of=ofile iflag=nocache oflag=nocache



3.2 SOLARIS

Sous Solaris, les commandes sont un petit peu différentes :

iostat

iostat -xcnCXTdz 1



Pour stresser le disque, nous utiliserons la commande dd qui est une commande de
bas niveau :

dd

dd if=/dev/zero of=/export/home/dd.img bs=10485760 count=100



Et voici un petit script shell qui fait tout pour vous :

bench_disk.sh

#!/bin/sh
# Made by Pierre Mavro
 
echo "What size of file would you like to test (in Mo) ? (ex. 10240 for 10Go) :"
read size
echo "Choose your requiered device :"
df | awk '{ print $1 }'
read device
echo ""
echo "Please enter to confirm : a test_array_file file of $size will be created in $device"
read ok
echo ""
echo "Starting disk bench (Ctrl+C to stop)..."
dd if=/dev/zero of=$device/test_array_file bs=1024k count=$size &
iostat -nmCxz 1



4 SAR

sar est un outil qui va nous permettre de monitorer beaucoup de choses. A
l'installation de sysstat, sar va se mettre en crontab pour exécuter
régulièrement des sondages placés dans /var/log/sa.

Vous pouvez à tout moment changer la crontab par défaut :

/etc/cron.d/sysstat

# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1
# 0 * * * * root /usr/lib64/sa/sa1 -S DISK 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A


Décommentez toutes les lignes ou ajustez selon vos besoins. Pour lire par la
suite ces fichiers, utilisez la commande sar comme ceci :

sar

sar -d -f /var/log/sa/saXX



 * XX : jour du mois

Une petite chose importante avant d'utiliser sar, créez vous un alias dans votre
bashrc ou le fichier de préférences pour votre shell favori afin que les heures
s'affichent correctement :

~/.zshrc

 alias sar='LANG=C sar'



4.1 DISQUES

Pour monitorer les disques, c'est l'option -d qu'il faut utiliser :

sar

> sar -d 1 2
 
13:57:03          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
13:57:04      dev8-16      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:04       dev8-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:04     dev253-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:04     dev253-1      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
 
13:57:04          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
13:57:05      dev8-16      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:05       dev8-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:05     dev253-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
13:57:05     dev253-1      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
 
Moyenne :         DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %utilMoyenne :     dev8-16      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00Moyenne :      dev8-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00Moyenne :    dev253-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00Moyenne :    dev253-1      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00


Comme vous pouvez le voir, les dernières lignes correspondent aux moyennes
depuis le boot de la machine.

Si les devices des disques ne vous parlent pas trop, vous pouvez utiliser
l'option -p :

sar

> sar -d -p 1 2
 
14:13:28          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
14:13:29          sdb      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:29          sda      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:29    VolGroup-lv_root      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:29    VolGroup-lv_swap      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
 
14:13:29          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
14:13:30          sdb      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:30          sda      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:30    VolGroup-lv_root      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:13:30    VolGroup-lv_swap      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
 
Moyenne :         DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Moyenne :         sdb      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
Moyenne :         sda      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
Moyenne :   VolGroup-lv_root      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00
Moyenne :   VolGroup-lv_swap      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00



4.2 CPU

Pour analyser le CPU :

sar

> sar -u 1 3
 
14:20:56        CPU     %user     %nice   %system   %iowait    %steal     %idle
14:20:57        all      0,00      0,00      0,00      0,00      0,00    100,00
14:20:58        all      0,00      0,00      0,00      0,00      0,00    100,00
14:20:59        all      0,00      0,00      0,99      0,00      0,00     99,01
Moyenne :       all      0,00      0,00      0,33      0,00      0,00     99,67



4.3 MÉMOIRE

Pour monitorer la mémoire :

sar

> sar -r 1 30
Linux 3.2.0-3-amd64 (deb-pmavro) 	13/09/2012 	_x86_64_	(2 CPU)
 
18:17:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
18:17:02       275472   3617496     92,92    220604   1635456   4294436     55,08   2053992   1312976
18:17:03       275612   3617356     92,92    220604   1635140   4294136     55,08   2054064   1312708
18:17:04       268048   3624920     93,11    220616   1642852   4302016     55,18   2054192   1320488
18:17:05       276356   3616612     92,90    220616   1634612   4293660     55,07   2054348   1312128


Vous pouvez également utiliser vmstat pour monitorer la mémoire :

vmstat

> vmstat -n 1 30
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0  52600 272952 220800 1636336    0    1   572   587  471  222 19  3 75  3
 3  0  52600 272828 220804 1635904    0    0     0   140 2969 6041 16  3 79  2
 0  0  52600 275108 220804 1635492    0    0     0     0 3016 6002 18  3 80  0
 0  0  52600 274984 220804 1635184    0    0     0   220 2327 4608 14  3 83  0
 0  0  52600 277836 220804 1635044    0    0     0     0 2868 5820 24  4 72  0


 * free, buff et cache : le nombre de mémoire en KiB qui est idle
 * si et so : correspondent à l'utilsation de la swap
 * swpd : la taille en KiB de swap utilisé

Pour monitorer le taux de changement :

sar

> sar -R 1 30   
Linux 3.2.0-3-amd64 (deb-pmavro) 	13/09/2012 	_x86_64_	(2 CPU)
 
18:18:42      frmpg/s   bufpg/s   campg/s
18:18:43     -2203,00      0,00   2202,00
18:18:44       713,00      0,00      8,00
18:18:45      -279,00      0,00    404,00
18:18:46       186,00      0,00    -13,00
18:18:47       -93,00      0,00     26,00
18:18:48      -155,00      2,00    -18,00
18:18:49        62,00      0,00    -44,00



4.4 SWAP

Pour analyser la swap :

sar

> sar -W 1 3
 
14:22:10     pswpin/s pswpout/s
14:22:11         0,00      0,00
14:22:12         0,00      0,00
14:22:13         0,00      0,00
Moyenne :        0,00      0,00



4.5 NETWORK

Pour une analyse réseaux :

sar

> sar -n DEV 1 2
 
14:23:47        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
14:23:48           lo      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:23:48         eth0      1,00      1,00      0,06      0,17      0,00      0,00      0,00
 
14:23:48        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
14:23:49           lo      0,00      0,00      0,00      0,00      0,00      0,00      0,00
14:23:49         eth0      2,00      1,00      0,12      0,38      0,00      0,00      1,00
 
Moyenne :       IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Moyenne :          lo      0,00      0,00      0,00      0,00      0,00      0,00      0,00
Moyenne :        eth0      1,50      1,00      0,09      0,28      0,00      0,00      0,50



4.6 LES IO

Pour monitorer tous les IO :

sar

> sar -B 1 30
Linux 3.2.0-3-amd64 (deb-pmavro) 	13/09/2012 	_x86_64_	(2 CPU)
 
18:19:33     pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
18:19:34         0,00      0,00    106,00      0,00   3105,00      0,00      0,00      0,00      0,00
18:19:35         0,00      0,00     58,00      0,00   1567,00      0,00      0,00      0,00      0,00
18:19:36         0,00      0,00     82,00      0,00   1039,00      0,00      0,00      0,00      0,00
18:19:37         0,00      0,00    205,00      0,00   1530,00      0,00      0,00      0,00      0,00
18:19:38         0,00     44,00    131,00      0,00   1192,00      0,00      0,00      0,00      0,00



4.7 LES PROCESSUS

Il est possible via la commande pidstat d'obtenir beaucoup d'informations sur un
processus ne particulier :

pidstat

> pidstat -p 2365 1 50
Linux 3.2.0-4-amd64 (ZG020194) 	05/07/2013 	_x86_64_	(2 CPU)
 
02:12:57 PM       PID    %usr %system  %guest    %CPU   CPU  Command
02:12:58 PM      2365    1.00    0.00    0.00    1.00     0  awesome
02:12:59 PM      2365    0.00    0.00    0.00    0.00     0  awesome
02:13:00 PM      2365    0.00    1.00    0.00    1.00     0  awesome


Il est également possible de monitorer les IO (-d) ou encore le top 5 des
processus en pagefault :

pidstat

> pidstat -T CHILD -r 2 5   
Linux 3.2.0-4-amd64 (ZG020194) 	05/07/2013 	_x86_64_	(2 CPU)
 
02:16:02 PM       PID minflt-nr majflt-nr  Command
02:16:04 PM      2252         1         0  VBoxService
02:16:04 PM      2365        50         0  awesome
02:16:04 PM      4938         7         0  firefox
02:16:04 PM      5051       171         0  pidstat



5 FAQ


5.1 SAR: CAN'T OPEN /VAR/ADM/SA/SAXX : NO SUCH FILE OR DIRECTORY

Vous désirez, sous Solaris, utiliser la commande "sar" afin d'effectuer du
monitoring ou de l'analyse de performance sur votre serveur, mais quand vous
exécutez la commande, vous obtenez une erreur semblable à la suivante :

sar: can't open /var/adm/sa/saXX : No such file or directory


La réponse se trouve dans le manpage de "sadc". Vous devez exécuter la commande
suivante, et vous devriez être en mesure d'exécuter la commande sans problème,
après avoir exécuté ceci :

sadc

su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"




6 RESSOURCES

http://www.cyberciti.biz/open-source/command-line-hacks/linux-monitor-process-using-pidstat/
 1. ^ http://comments.gmane.org/gmane.comp.gnu.coreutils.general/904

Retrieved from
"https://wiki.deimos.fr/index.php?title=Sysstat_:_Des_outils_indispensable_pour_analyser_des_problèmes_de_performances&oldid=12914"
Categories:
 * Solaris
 * Linux




NAVIGATION MENU


PERSONAL TOOLS

 * Log in


NAMESPACES

 * Page


VARIANTS




VIEWS

 * Read
 * View source
 * View history


MORE




SEARCH




NAVIGATION ET RSS

 * cd ~


MENU

 * Solaris
 * BSD
 * Linux
 * Mac OS X
 * Windows
 * Servers
 * Development
 * Ethical Hacking
 * Network
 * Divers


LIENS

 * Welcome Page
 * Blog
 * Resume
 * GitHub


GOOGLE SEARCH




TRANSLATE




TOOLS

 * What links here
 * Related changes
 * Special pages
 * Printable version
 * Permanent link
 * Page information

 * This page was last modified on 24 August 2013, at 12:57.
 * Content is available under Attribution - Pas d’Utilisation Commerciale -
   Partage dans les Mêmes Conditions 3.0 non transposé unless otherwise noted.

 * Privacy policy
 * About Deimos.fr / Bloc Notes Informatique
 * Disclaimers

 * 
 *