Der Standard ps
reicht.
while true; do ps o pcpu,rsz -p $pid | tail -n1 >>usage.log; sleep $interval; done
Ergebnis:
0.0 3352
0.3 31640
0.4 36924
0.5 36052
...
Das erste Feld ist die CPU-Nutzung in %, das zweite die physische Speichernutzung in kByte.
Wenn Ihnen genaues Timing wichtig ist und Sie die CPU in Prozent wollen:
watch --precise -n 1 'top -b -n 1 -p [PID] | tail -n 1 | awk "{print \$9}" >> [PID].log'