GNU/Linux >> Tutoriales Linux >  >> Linux

Tengo alta io stat. Escrituras altas. Pero, ¿qué archivos se están escribiendo?

Bueno, podría probar los siguientes comandos que me funcionaron en RHEL6:

1) Cualquier dispositivo que vea en la salida "iostat" realizando más E/S, utilícelo con fuser comando de la siguiente manera:

fuser -uvm device

2) Obtendrá una lista de procesos con el nombre de usuario que causan más E/S. Seleccione esos PIDS y utilícelos en el lsof comando de la siguiente manera:

lsof -p PID | more

3) Obtendrá una lista de archivos/directorios junto con el usuario que realiza la E/S máxima.


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 de E/S del proceso.

iotop:es una utilidad similar a top/iftop que muestra el rendimiento de E/S del proceso.

Después de señalar qué proceso tiene E/S pesada, use lo siguiente para averiguar qué archivo se está usando

lsof -c <process name>

Eso debería reducir el alcance y ayudar a identificar la fuente.


Puedes usar inotifywait de inotify-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 :

$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /tmp
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/tmp/ CREATE test
/tmp/ MODIFY test

Desafortunadamente, deberá adivinar en qué directorio se encuentran los archivos que se están escribiendo. Esto falla si intenta usarlo en el directorio raíz, aunque aparentemente eso puede anularse:

$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /
Setting up watches.  Beware: since -r was given, this may take a while!
Failed to watch /; upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches'.

Linux
  1. Use la terminal de Linux para ver qué archivos hay en su computadora

  2. ¿Agregué un usuario a un grupo, pero los permisos de grupo en los archivos siguen sin tener efecto?

  3. 7zip, Xz, Gzip, Tar, etc., ¿cuáles son las diferencias?

  4. ¿Qué son los archivos dispersos en Linux?

  5. Encuentra qué archivos están en un paquete en Ubuntu

¿Qué son los archivos .run?

Configurar unidades flash en instancias de E/S alta como unidades de datos

¿En qué idiomas están escritos Windows, Mac OS X y Linux?

¿En qué idioma están escritos los comandos de Shell?

¿Cuál es el equivalente Unix/Linux de E/S registrada?

¿Qué son exactamente los encabezados del kernel de Linux?