La norme ps
est suffisant.
while true; do ps o pcpu,rsz -p $pid | tail -n1 >>usage.log; sleep $interval; done
résultat :
0.0 3352
0.3 31640
0.4 36924
0.5 36052
...
Le premier champ est l'utilisation du CPU en %, le second est l'utilisation de la mémoire physique en Ko.
Si vous vous souciez d'un timing précis et que vous voulez un CPU en pourcentage :
watch --precise -n 1 'top -b -n 1 -p [PID] | tail -n 1 | awk "{print \$9}" >> [PID].log'