GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment puis-je voir ce qui attend les E/S de disque

Solution 1 :

Vous pouvez utiliser un moniteur d'E/S comme iotop, mais il ne vous montrera que les processus ou les threads avec les opérations d'E/S en cours.

Si vous avez besoin de parcourir les processus en attente d'E/S, utilisez watch pour surveiller les processus avec l'indicateur STAT 'D' comme ci-dessous :

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"

Solution 2 :

ps axu et recherchez les processus qui sont dans l'état "D". D'après la page de manuel ps(1), les processus qui sont dans l'état D sont en veille ininterrompue, ce qui signifie presque toujours « en attente d'E/S ». Malheureusement, tuer ces processus n'est généralement pas possible.

Solution 3 :

La réponse de Zanchey est la meilleure que je connaisse pour savoir ce qui attend IO.

Quand vous dites que votre serveur est sous forte charge, qu'entendez-vous par là ? Quelque chose en particulier est lent à réagir ?

Si vous vous demandez si votre Disk IO est le goulot d'étranglement, j'utiliserais la commande iostat (qui fait partie du package sysstat) pour voir si le disque est réellement sous forte charge.

Exemple :

[[email protected]: ~] iostat -x 1 3                                                                                           

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.38   34.71    2.64    1.18    0.00   59.21 
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.11    17.35    2.21   20.31    46.57   301.40    15.45     2.27  100.66   1.48   3.34
sda1              0.10    17.31    2.21   20.31    46.48   301.10    15.44     2.27  100.66   1.48   3.34
sda2              0.00     0.00    0.00    0.00     0.00     0.00     3.50     0.00   30.00  30.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00    18.44     0.00  677.67 512.61   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.22    0.00    4.31    0.00    0.00   89.47   
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    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Linux
  1. Linux - Comment savoir pour quoi Grep dans Dmesg ?

  2. Linux – Refs Mais pour Linux ?

  3. Qu'est-ce que le transfert IP sous Linux ? Comment activer le transfert IP ?

  4. Comment puis-je lier symboliquement un fichier sous Linux?

  5. Comment puis-je obtenir par programme l'espace disque libre pour un répertoire sous Linux

Comment supprimer une partition sous Linux

Comment répertorier les partitions de disque sous Linux

Comment chiffrer une partition sous Linux

Comment voir les utilisateurs connectés sous Linux

Comment déterminer ce qui utilise le plus d'espace disque sur un serveur Linux ?

Comment puis-je surveiller la charge du disque dur sous Linux ?