Outils personnels

Gestion des IOs, iowaits

De wikiGite

S'il est assez simple avec ps de trouver ce qui provoque une utilisation excessive du CPU ou de la mémoire, c'est plus compliqué quand ce sont les attentes disques (iowaits). Si top indique un load average anormal, qui semble provenir d'iowaits importants ("%wa" dans l'entête), on peut utiliser iotop (sur CentOS : dépôt EPEL) :

# iotop
Total DISK READ: 0.00 B/s | Total DISK WRITE: 36.02 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                       
 1142 be/3 root        0.00 B/s    9.21 K/s  0.00 %  0.38 % [kjournald]
    5 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.13 % [migration/1]
31527 be/4 dovecot     0.00 B/s    0.00 B/s  0.00 %  0.08 % imap-login
 2984 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % gpm -m /dev/input/mice -t exps2
 1638 be/2 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % audispd
 2401 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % automount
31959 be/4 dovecot     0.00 B/s    0.00 B/s  0.00 %  0.00 % pop3-login
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init [3]
29402 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % spamd child
 2797 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld --basedir=/usr --~var/lib/mysql/mysql.sock
 2766 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld --basedir=/usr --~var/lib/mysql/mysql.sock
 2767 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld --basedir=/usr --~var/lib/mysql/mysql.sock
 2768 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld --basedir=/usr --~var/lib/mysql/mysql.sock

La colonne IO> indique les processus qui génèrent des IO. Avec top dans une autre console, on peut faire le rapport sur ce qui provoque le load average.

A voir

"atop" existe aussi. A tester.