19 votos

La determinación del proceso que se está causando fuertes e/S de disco?

He visto esta pregunta: Cómo identificar pesado escribir en el disco?

Y yo he usado dstat y en la cima de antes...pero no parecen determinar qué proceso está causando el disco I/O. Por ejemplo, de dstat:

dstat -ta --top-bio
----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ----most-expensive----
     time     |usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw |  block i/o process
14-12 16:16:25| 22   3  49  26   0   0|2324k    0 |  17k 6144B|   0     0 |1324     0 |
14-12 16:16:26| 24   3  30  43   0   0|4960k 8192B|1498B 4322B|   0     0 |1494     0 |wget          0  4096B
14-12 16:16:27| 25   4  38  33   0   0|4612k  548k|5011B   27k|   0     0 |1582     0 |kjournald     0    24k
14-12 16:16:28| 23   3  42  32   0   0|5072k    0 |  24k 4368B|   0     0 |1495     0 |

Observe cómo la alta dsk/total es de entre 2 y 5 MB/seg. Pero, a continuación, busque en 'más caro de la columna" -- es sólo un par de bytes aquí, un par de KB allí, y a veces incluso nada. Es el mismo tipo de cosa con 'encima'. Muestra de alta en general el uso de disco, pero el bajo uso de los procesos individuales. Estoy corriendo CentOS 5, kernel 2.6.18-53.

Necesito una nueva versión del núcleo? Tal vez algunas de configuración del sistema configuración en algún lugar? El 'encima' de la página de inicio recomienda la instalación de algunos parches del kernel, pero yo prefiero no pasar por la molestia de configurar y compilar mi propio kernel.

26voto

asdmin Puntos 1265

iotop (enlace) para arrancadores ;) yo no he visto la publicación de una salida de la misma.

1: he experimentado casi la misma situación, con un registro de sistema de archivos y atime - sin embargo con más escribe.

Trate de volver a montar con noatime y desactivar el sistema de ficheros de registro (más tarde solo para probar) con el fin de ver si el sistema de archivos de base y como se ha dicho, iotop si es basada en el proceso.

2: supongo que esta partición no es parte de una reconstrucción de la matriz raid, es?

3: Si usted está teniendo un montón de archivos muy pequeños (mucho más pequeño que el actual dispositivo de bloque tamaño de bloque y/o el tamaño de bloque del sistema de ficheros), y que son la lectura de los archivos pequeños, al final de la lectura completa de los bloques del sistema, y la mayoría de los bloques será leído por nada.

4: Si nada ayuda anterior, siempre se puede obtener la lista de archivos accedidos mediante la ejecución de

echo 1 > /proc/sys/vm/block_dump

por favor, tenga en cuenta que se degrada el rendimiento del sistema por mucho. Las instrucciones están disponibles en mi post anterior aquí

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: