Estoy interesado en el uso actual de cpu, precisamente cpu% y wait%, para cada hilo en una aplicación específica. ¿Es posible obtener esa información de alguna parte?
Sé que top
puede dividir la información por hilo real (unos con pid), pero no muestra la división del uso de la CPU del sistema / usuario / espera para cada uno de ellos. También me gustaría alguna forma de registrar esa información. ¿Conoces alguna aplicación (o apis) que pueda hacer eso?
ps -To pcpu,tid -C java | sort -r -k1 | more
para hilos de cerdo en una aplicación de Java.ps --sort=pcpu
no logra nada; mejor confiar en shell para la parte de clasificación.-n
o ordenaría-g
, de modo que "10" aparezca arriba de "2", por ejemplo.Quizás eche un vistazo a htop, puede configurar bastante con él.
fuente
¿Intentaste sar? Puede obtener mucha información incluso en el nivel pid.
fuente
Nagios y PNP http://docs.pnp4nagios.org/pnp-0.4/start
Funciona increíble ... poca configuración.
fuente
Me topé con esto en un sistema embebido donde no tenemos las herramientas sofisticadas para analizar estas cosas.
Para esto, he usado
cpuacct cgroup
y colocado cada hilo en su propia carpeta. De esta manera pude medir su uso.La jerarquía se veía así:
Luego lo cambié a
fuente