Tengo algunos procesos con un nombre conocido que todos escriben en archivos en un solo directorio. Me gustaría registrar el número de lecturas y escrituras de bloque de disco durante un período ( no solo el acceso a archivos) para probar si un cambio de parámetro reduce significativamente la cantidad de E / S. Actualmente estoy usando iostat -d -p
, pero eso está limitado a toda la partición.
linux
monitoring
io
disk-usage
l0b0
fuente
fuente
Respuestas:
Me doy cuenta de que esto parecerá simplista y absurdo, pero si tiene control sobre las aplicaciones en cuestión (tal vez en un entorno de prueba), podría montar SÓLO ese directorio en una partición propia, entonces
iostat
, etc., le diría solo al respecto, y nada más en ese lugar.Si hay unidades físicas involucradas, podría simularlo con un montaje de bucle invertido
Eso no eliminaría completamente todas las E / S de disco de la competencia, pero estoy bastante seguro
iostat
de que la salida sería más específica para su necesidad.fuente
No creo que haya una forma directa. Una forma de obtener los datos que desea sería acceder al árbol de directorios a través de un sistema de archivos virtual que registra los accesos. Loggedfs es uno de esos sistemas de archivos, aunque no sé si puede mostrar todos los datos que le interesan. (De lo contrario, probablemente sería un modesto esfuerzo de codificación de esos datos).
fuente
Puede usar
inotifywait -m DIRNAME
desde las herramientas de inotify .fuente
-d
no existe en inotifywait 3.13. Qué quiere decir-m
?-m
con la excepción de ejecutarse en segundo plano y requerir un archivo externo.-r
podría ser útil