GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo monitorear la E/S del disco en un directorio en particular?

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 bloques de disco durante un período (no solo 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.

Respuesta aceptada:

Me doy cuenta de que esto va a sonar tanto simplista como absurdo, pero si tiene control sobre las aplicaciones en cuestión (tal vez en un entorno de prueba), podría montar SOLO ese directorio en una partición propia, entonces iostat , etc.
solo le informarán sobre eso, y nada más en ese lugar.

Si hay unidades físicas involucradas, podría falsificarlas con un loopback
mount à la

dd if=/dev/zero of=/bigdisk/LOOPFILE bs=1024m count=1024m # 1gb loopback file
mke2fs -j /bigdisk/LOOPFILE
mkdir /tmpcopy
mount -o loop /tmpcopy /bigdisk/LOOPFILE
cp -r -p $SPECIALDIR2MONITOR /tmpcopy
umount /tmpcopy
mount -o loop $SPECIALDIR2MONITOR  /bigdisk/LOOPFILE,

Eso no eliminaría por completo todas las E/S de disco de la competencia, pero
estoy bastante seguro de que iostat La salida sería más específica para su necesidad.


Linux
  1. Cómo restaurar el directorio /tmp eliminado en Linux

  2. ¿Cómo verificar si un directorio en particular está montado?

  3. Cómo montar una unidad de disco USB en UNIX o Linux

  4. ¿Cómo purgar cachés de E/S de disco en Linux?

  5. ¿Cómo montar una imagen de disco de varias particiones en Linux?

Cómo SSH en un directorio particular en Linux

Cómo encontrar el tamaño de un directorio en Linux

Cómo montar un disco NTFS en Linux

Cómo montar volúmenes de disco macOS APFS en Linux

Cómo verificar el tamaño de los archivos y directorios en Linux

¿Cómo comprobar la utilización de E/S de disco por proceso?