2011-03-02 9 views
15

Estoy usando ubuntu. Hay algunos procesos que están haciendo con frecuencia en mi servidor, incluso un comando "ls" tendrá un costo de 1 segundo para ejecutarse. Quiero saber qué proceso está haciendo tan fuertemente, ¿hay algún buen comando o herramienta?cómo encontrar el proceso que está haciendo con frecuencia?

Gracias.

+0

Para aceptar respuestas, haga clic en la marca de verificación junto a su respuesta preferida. –

+0

posible duplicado de [¿Cómo encontrar el proceso que está consumiendo más E/S en Linux?] (Http://stackoverflow.com/questions/466496/how-to-find-the-process-which-is-cosuming -the-most-io-in-linux) – dogbane

Respuesta

21

Puede usar iotop para buscar procesos que sean demasiado pesados.

+3

No olvides ejecutar iotop con ** sudo ** o fallará. – Eye

6

iotop tiene una interfaz parecida a la superior y muestra la cantidad de operaciones de I/O que lee y lee cada proceso.

6

Puede usar atop que puede informar las lecturas y escrituras del disco por procesos, entre muchas otras cosas.

Disk utilization — key 'd'

7

Una forma rápida es buscar en el archivo /proc/[PID]/io.

Ejemplo:

$ cat /proc/1944/io 
read_bytes: 17961091072 
write_bytes: 8192000 
cancelled_write_bytes: 32768 
+0

has escrito sobre el mejor método :) Se puede usar para escribir el script para controlar el proceso. cuando el proceso consume demasiado io, puede detenerse mediante sigstop, y después de io, debe ser activado por sigcont :) – Znik

2

puede probar pidstat. Lo encontré útil cuando necesito identificar qué proceso hizo io alto.

Cuestiones relacionadas