Я хочу собрать данные об использовании ЦП ОТДЕЛЬНЫМ ПРОЦЕССОМ с течением времени. Я пытался обернуть сбор данных (например, с помощью pidstat) в цикл while с односекундным сном, но это не работает. Я также пытался использовать collectl, но мне не удалось найти опцию для сбора данных одного процесса (я пробовал с --procfilter p, но вывод был ненадёжным.
Существует ли стандартный (возможно, с открытым исходным кодом) инструмент, который измеряет загрузку ЦП ОТДЕЛЬНЫМ ПРОЦЕССОМ (используя PID) с течением времени и дает возможность сохранять эти данные в CSV-файле?
решение1
Этот способ сработает:
#!/bin/баш пока правда; делать пидстат | grep 1117 >>pidload.csv сон 1 сделанный
Просто поместите его в скрипт оболочки. В данном случае 1117 — это идентификатор процесса, который вы хотите отслеживать. chmod +x SCRIPTNAME, и все готово.
Если вам нужны конкретные данные, вы можете использовать awk, например так:
пидстат | греп 1117 | awk '{ print $3, $8 }' >>pidload.csv