Tengo algún proceso(s) de la realización de un montón de acceso a la unidad de tiempo en tiempo, sin embargo, he sido hasta ahora incapaz de identificar qué proceso o procesos que se realiza el acceso. Qué comando de shell puedo emitir para aislar más el acceso de disco de procesos intensivos?
Respuesta
¿Demasiados anuncios?Después de tocar el violín con la realización de mi propia solución, a través de la fs_usage
manipulación, descubrí el DTrace iotop
script (man iotop
). Esto realmente parece hacer el truco con respecto a dar muestras de sistema de ficheros de la actividad en niza actualizado intervalos y rápidamente permite aislar posiblemente mal comportamiento de los procesos.
*NOTA: debe ejecutar con sudo
o como root
de usuario.
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