I am trying to get the CPU usage of a mac over time.
I am using this top cmd in terminal getting the result i want but would like it to output to a file and update every 5 seconds.
top -l 1 | grep -E "^CPU|^Phys"
CPU usage: 3.27% user, 14.75% sys, 81.96% idle PhysMem: 5807M used (1458M wired), 10G unused.
This command prints all 3 CPU usage percentages tab-separated to a file (appending line by line for each call):
top -l1 | grep -E "CPU usage:" | awk -v FS="CPU usage: | user, | sys, | idle" '{print $2, $3, $4}' >> cpu_user_sys_idle.tsv
Works with pipe separated command chain:
You additionally can put it into automated or scheduled (apple)script to collect measures in regular intervals.