linux - sheet - Cómo saber qué proceso está consumiendo "wait CPU"(es decir, I/O bloqueado)
the linux command line epub (4)
Los procesos bloqueados en IO son los marcados como D
en la columna de estado (columna S
en la parte superior).
Con la top
, es fácil averiguar cuánta CPU utiliza cada trabajo. Sin embargo, quiero buscar un trabajo que cause una CPU de espera alta. ¿Hay alguna forma de averiguar qué trabajos están bloqueados en E / S?
iotop y latencytop pueden ser útiles. Ninguno da exactamente el "tiempo de espera de la CPU causado por un proceso" - No estoy seguro de que tenga sentido, porque la CPU puede y funciona para otros procesos mientras espera IO - pero estas dos herramientas ofrecen una visión general ( respectivamente) el tráfico de E / S del sistema y los retrasos en la programación.
Haga una parte superior, luego cambie F, luego elija m o n, clasificará la lista de procesos por el tiempo de CPU utilizado.
Para ser más precisos, use este comando para averiguar fácilmente qué procesos "consumen" sus ciclos de CPU:
while true; do date; ps auxf | awk ''{if($8=="D") print $0;}''; sleep 1; done
Esta URL podría ser útil: Linux Wait IO Problem