![Как отслеживать основные приложения, использующие ЦП (и ввод-вывод, если это возможно) в графике?](https://rvso.com/image/50561/%D0%9A%D0%B0%D0%BA%20%D0%BE%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%2C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8E%D1%89%D0%B8%D0%B5%20%D0%A6%D0%9F%20(%D0%B8%20%D0%B2%D0%B2%D0%BE%D0%B4-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%2C%20%D0%B5%D1%81%D0%BB%D0%B8%20%D1%8D%D1%82%D0%BE%20%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE)%20%D0%B2%20%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B5%3F.png)
Мне нужно найти, что и когда эти приложения использовали так много CPU (и IO, если возможно). Это должно быть в графической временной шкале, как мы видим в GNOME System Monitor CPU History. Я также хочу сравнить эту графику с температурным монитором Psensor.
Я нашел ответы для одного процесса, PID которого вы уже знаете, но я ищу эту информацию всякий раз, когда приложения больше всего используют ЦП или ввод-вывод, причем это может быть любой PID в любое время за последний час.
Интересно, есть ли какое-нибудь приложение, которое может это сделать?
решение1
Я подумал, что было бы забавно попробовать это с помощью python и matplotlib. Это немного великовато для публикации здесь, ноздесьссылка на него на моем сайте. Это действительно уродливый способ сделать это, но, надеюсь, он даст вам некоторые идеи. Я просто проанализировал вывод ps и вытащил данные о температуре процессора из вывода sysctl, поскольку у меня OpenBSD, но это работает достаточно хорошо... Я полагаю, что вы могли бы пофантазировать с частью получения данных и придумать кучу разных вещей. Если хотите, я могу выложить это на github или еще куда-нибудь.
-Джамиль