Меня интересует текущее использование cpu - именно cpu% и wait% - для каждого потока в конкретном приложении. Можно ли получить эту информацию откуда-то?
Я знаю, что это top
может разделить информацию по реальным потокам (те, что с pid), но это не показывает разделение использования процессора системой / пользователем / ожиданием для каждого из них. Я также хотел бы каким-то образом регистрировать эту информацию. Знаете ли вы какие-либо приложения (или API), которые могут сделать это?
ps -To pcpu,tid -C java | sort -r -k1 | more
для свиней темы в приложении Java.ps --sort=pcpu
ничего не достигает; лучше полагаться на оболочку для сортировки.-n
или-g
отсортировал, чтобы «10» показывалось выше «2», например.Может быть, посмотрите на htop, вы можете настроить довольно много с ним.
источник
Ты пробовал сар? Он может получить много информации даже на уровне pid.
источник
Нагиос и ПНП http://docs.pnp4nagios.org/pnp-0.4/start
Работает потрясающе ... маленькая конфигурация.
источник
Я наткнулся на это во встроенной системе, где у нас нет причудливых инструментов, чтобы разобраться в этом.
Для этого я использовал
cpuacct cgroup
и поместил каждый поток в свою папку. Таким образом, я смог измерить их использование.Иерархия выглядела так:
Затем я изменил его на
источник