last
mostra quando o computador foi desligado ou reiniciado, mas não quando foi colocado no modo de suspensão ou de despertar:
$ last|head
lauri ttys002 Fri Dec 13 11:56 still logged in
lauri ttys003 Fri Dec 13 11:55 - 11:56 (00:00)
lauri ttys002 Fri Dec 13 11:55 - 11:56 (00:00)
lauri ttys002 Fri Dec 13 11:16 - 11:55 (00:38)
lauri ttys003 Fri Dec 13 11:16 - 11:55 (00:38)
lauri console Fri Dec 13 10:08 still logged in
reboot ~ Fri Dec 13 10:06
shutdown ~ Fri Dec 13 10:05
lauri console Fri Dec 13 08:27 - 10:05 (01:38)
reboot ~ Fri Dec 13 08:25
pmset -g log
também mostra quando o computador foi dormir ou acordar, incluindo a duração de cada período de sono:
$ pmset -g log|awk '$5~/Sleep|Wake/'|head
11/30/13, 6:07:11 AM GMT Sleep Software Sleep pid=45: Using AC 16949 secs
11/30/13, 10:49:40 AM GM Wake Wake [CDNVA] due to XHC1/HID Activity: Using AC
Sleep/Wakes since boot:1 Dark Wake Count in this sleep cycle:0
12/1/13, 2:31:19 AM GMT+ Sleep Software Sleep pid=45: Using AC
12/1/13, 3:29:10 AM GMT+ Wake Wake [CDNVA] due to XHC1/HID Activity: Using AC 120 secs
Sleep/Wakes since boot:2 Dark Wake Count in this sleep cycle:0
12/1/13, 3:31:10 AM GMT+ Sleep Software Sleep pid=45 to DarkWake: Using AC
12/1/13, 3:33:14 AM GMT+ Sleep Software Sleep pid=45: Using AC 50927 secs
12/1/13, 5:42:01 PM GMT+ DarkWake DarkWake [CDN] due to XHC1/: Using AC 7 secs
12/1/13, 5:42:08 PM GMT+ Wake DarkWake to FullWake [CDNVA] due to HID Activity: Using AC
Para medir o uso médio da CPU, você poderia adicionar uma linha como esta para crontab:
*/5 * * * * ps -eo \%cpu=|awk '{s+=$0}END{print s}'>>~/Documents/cpu-$(date +\%F)
Para ver quais processos usam mais CPU, adicione uma linha como esta para crontab:
* * * * * ps -eco '\%cpu= comm='|sed $'s/^ *//;s/ /\t/'>>~/Documents/cpu
Em seguida, execute um comando assim mais tarde:
awk -F$'\t' '{a[$2]+=$1}END{for(i in a)print a[i],i}' ~/Documents/cpu|sort -rn