ver procesos proceso para ejecutados ejecucion detener corriendo comandos comando administración linux debugging operating-system process

para - ver procesos ejecutados en linux



¿Cómo puedo saber qué está esperando un proceso de Linux? (3)

Estoy intentando localizar la causa de los cuellos de botella en el rendimiento de una aplicación que estoy depurando en Linux. Los diversos procesos involucrados parecen pasar mucho tiempo bloqueando las solicitudes de E / S, y me preguntaba si alguien sabía algún truco de Linux que le permitiera ver por qué un proceso en particular está bloqueado / ¿qué recurso está esperando? ¿Hay algo útil en /proc por ejemplo?


Puede usar el comando strace para ver en qué consiste su proceso. También puede resultarle útil ejecutar lsof en su proceso para ver qué archivos y sockets está utilizando.


Sea cual sea el proceso, usa top para verificar el estado. Entonces podrías correrlo a través de truss o strace . Eso debería detallar lo que está pasando. Si eso no es posible, gdb a gdb . Herramientas como iostat pueden mostrarle en general lo que está sucediendo (por ejemplo, si el disco es un cuello de botella).


strace es su amigo, ya que puede obtener el tiempo dedicado a cada llamada al sistema, además de que puede seleccionar los descriptores de archivos y la llamada al sistema que le interesan. Pero también puede recibir soporte del núcleo: eche un vistazo a latencytop