avg-cpu: %user %nice %system %iowait %steal %idle
11.50 0.02 5.38 0.07 0.00 83.04
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sdc 0.01 89.92 0.26 41.59 3.36 457.19 22.01 0.23 5.60 0.09 0.38
sdb 0.10 15.59 0.40 14.55 8.96 120.57 17.33 0.04 2.91 0.07 0.11
sda 0.13 45.37 0.96 8.09 20.06 213.56 51.63 0.02 2.64 0.16 0.14
sde 0.01 31.83 0.09 11.34 0.94 103.56 18.29 0.04 3.52 0.14 0.16
sdd 0.01 48.01 0.13 19.81 1.58 202.16 20.44 0.11 5.62 0.13 0.25
¿Hay alguna manera de saber qué archivos se están escribiendo? 457 kB / s
También esta otra máquina Linux tiene este mismo problema.
avg-cpu: %user %nice %system %iowait %steal %idle
20.50 0.00 46.48 20.74 0.00 12.28
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.17 11.61 0.99 3.51 36.65 59.43 42.70 0.10 23.20 3.84 1.73
sdb 0.55 224.18 24.30 97.45 246.48 1287.12 25.19 3.96 32.53 7.88 95.91
sdd 0.53 226.75 25.56 90.96 283.50 1271.69 26.69 3.43 29.44 8.22 95.75
sdc 0.00 1.76 0.28 0.06 4.73 7.26 70.41 0.00 12.00 2.12 0.07
dm-0 0.00 0.00 1.11 14.77 36.41 58.92 12.01 1.00 62.86 1.09 1.74
dm-1 0.00 0.00 0.04 0.12 0.17 0.49 8.00 0.00 21.79 2.47 0.04
dm-2 0.00 0.00 0.01 0.00 0.05 0.01 8.50 0.00 7.90 2.08 0.00
1200 solicitudes de escritura por segundo para un servidor que no aloja nada
Parece que no hay herramientas para averiguar el rendimiento de E / S por archivo que no sea dentro del proceso que usa el archivo. Pero hay formas de averiguar el rendimiento del proceso de E / S.
iotop: es una utilidad de tipo top / iftop que muestra el rendimiento del proceso de E / S.
Después de señalar con precisión qué proceso tiene E / S intensas, use el siguiente para averiguar qué archivo se está utilizando
Eso debería reducir el alcance y ayudar a señalar la fuente.
fuente
iotop
, noiostat
. Corrija mi respuesta.Puede usar
inotifywait
frominotify-tools
para averiguar exactamente en qué archivo se está escribiendo. Esto no le dirá cuántos datos se están escribiendo, pero al menos le dirá en qué archivos se están escribiendo a medida que sucede.Como ejemplo, este comando imprimirá el nombre del archivo tan pronto como se cree, modifique o elimine alguno en
/tmp
:Desafortunadamente, tendrá que adivinar en qué directorio contiene los archivos que se están escribiendo. Esto falla si intenta usarlo en el directorio raíz, aunque aparentemente eso se puede anular:
fuente
Use systemtap para monitorear cada llamada al sistema de escritura / escritura. Puede hacer un poco de contabilidad y verá qué archivo / fd obtiene la mayor cantidad de bytes.
fuente