Использование Dstat CPU для одного конкретного процесса

Можно ли измерить CPU и память для одного конкретного процесса с помощью dstat? Есть возможность измерить наиболее потребляющий процессор с --top-cputime, но можно ли измерить конкретный?

Я хочу записать в файл с --output, чтобы сделать его позже, а не с помощью оператора " > ".

Ответ 1

Вы можете использовать command | grep specific_text

например, test dstat | grep puppet

чтобы сохранить результат вывода в файле журнала, у вас есть два варианта:

, используя --output dstat --time --cpu --top-cputime --output /tmp/dstat.log | grep puppet

используя команду > файл dstat --time --cpu --top-cputime > /tmp/dstat.log | grep puppet

для журналов appendind: dstat --time --cpu --top-cputime >> /tmp/dstat.log | grep puppet

здесь скриншоты обеих команд

В соответствии с вашими комментариями эти команды помогут вам:

(1) сохранить статистику в файле dstat --time --cpu --top-cputime --output my.log

(2) применить фильтрацию к файлу журнала и сохранить результаты в файл cat my.log | grep httpd > myhttpd.log

(3) окончательные результаты cat myhttpd.log

см. скриншот результатов здесь

Ответ 2

Нет, это невозможно с dstat в настоящее время.

Я всегда предполагал сделать это возможным, но так и не добрался до этого.