¿Cómo aislar los procesos más activos en disco en OS X?

5

Tengo algunos procesos que realizan mucho acceso al disco de vez en cuando, sin embargo, hasta ahora no he podido aislar qué proceso o procesos están realizando el acceso. ¿Qué comando de shell puedo emitir para aislar la mayoría de los procesos intensivos de acceso al disco?

iluminar
fuente

Respuestas:

3

Después de jugar con mi propia solución a través de la fs_usagemanipulación, descubrí el iotopscript DTrace ( man iotop). Esto realmente parece ser el truco con respecto a dar muestras de la actividad del sistema de archivos a intervalos actualizados agradables y rápidamente permite aislar los procesos que posiblemente se comporten mal.

* NOTA : debe ejecutarlo con sudoo como rootusuario.

Por ejemplo:

sudo iotop -C 5   # Simply gives an update every 5 seconds in default output format without clearing screen.
sudo iotop -CP 2  # Gives 2 second interval updates w/o clearing screen and I/O time based output.

Opciones:

iotop [-C] [-D|-o|-P] [-j|-Z] [-d device] [-f filename] [-m mount_point] [-t top] [interval [count]]

   -C     don't clear the screen
   -D     print delta times - elapsed, us
   -j     print project ID
   -o     print disk delta times, us
   -P     print %I/O (disk delta times)
   -Z     print zone ID
   -d device
          instance name to snoop (eg, dad0)
   -f filename
          full pathname of file to snoop
   -m mount_point
          mountpoint for filesystem to snoop
   -t top print top number only
iluminar
fuente
1
Los otros comandos muy útiles para enfocarse en lo que está sucediendo son rwsnoop y iosnoop basados ​​en DTrace
The Tentacle
Sí @TheTentacle, he usado iosnoopmucho, pero en general resultó fs_usageser más rápido. Tendrá que jugar rwsnoop, gracias.
iluminar