GNU/Linux >> Tutoriales Linux >  >> Linux

Linux - ¿Cómo puedo ver lo que está esperando el disco IO?

Solución 1:

Puede usar un monitor de E/S como iotop, pero solo le mostrará procesos o subprocesos con operaciones de E/S actuales.

Si necesita buscar procesos en espera de E/S, use el reloj para monitorear procesos con el indicador STAT 'D' como a continuación:

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

Solución 2:

ps axu y busque procesos que estén en el estado "D". Según la página de manual de ps(1), los procesos que están en el estado D están en suspensión ininterrumpida, lo que casi siempre significa 'esperando IO'. Lamentablemente, normalmente no es posible eliminar estos procesos.

Solución 3:

La respuesta de Zanchey es la mejor que conozco para saber qué le espera a IO.

Cuando dice que su servidor tiene mucha carga, ¿qué quiere decir con eso? ¿Algo en particular tarda en responder?

Si se pregunta si su disco IO es el cuello de botella, usaría el comando iostat (parte del paquete sysstat) para ver si el disco realmente tiene una carga pesada.

Ejemplo:

[[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:¿cómo saber qué hacer con Grep en Dmesg?

  2. ¿Qué es el reenvío de IP en Linux? ¿Cómo habilitar el reenvío de IP?

  3. ¿Cómo puedo vincular un archivo en Linux?

  4. ¿Cómo obtengo programáticamente el espacio libre en disco para un directorio en Linux?

  5. ¿Cómo puedo ver el tamaño de los archivos y directorios en Linux?

Cómo eliminar una partición en Linux

Cómo enumerar particiones de disco en Linux

Cómo cifrar la partición en Linux

Cómo ver los usuarios registrados en Linux

¿Cómo determinar qué está utilizando la mayor cantidad de espacio en disco en un servidor Linux?

¿Cómo puedo monitorear la carga del disco duro en Linux?