Generieren Sie tägliche Systemlast- / Betriebszeitstatistiken

475
SystematicFrank

Um meine Mac-Systemaktivitäten zu studieren, möchte ich an jedem Tag Betriebszeiten, Ruhezeiten und CPU-Durchschnitt visualisieren.

Meine erste Vermutung wäre ein Blick auf die Systemprotokolle, aber ich würde gerne wissen, welche Tools derzeit verfügbar sind. Bei den meisten Tools, die ich gesehen habe, geht es nur um die aktuelle Verwendung, aber ich möchte nur eine tägliche Zusammenfassung.

1

1 Antwort auf die Frage

1
user495470

last Zeigt an, wann der Computer heruntergefahren oder neu gestartet wurde, aber nicht, wenn er in den Ruhezustand versetzt oder aufgeweckt wurde:

$ 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 zeigt auch an, wann der Computer in den Schlafmodus gegangen ist oder aufgewacht ist, einschließlich der Dauer der einzelnen Schlafphasen:

$ 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 

Um die durchschnittliche CPU-Auslastung zu messen, können Sie eine solche Zeile zu crontab hinzufügen:

*/5 * * * * ps -eo \%cpu=|awk 'END'>>~/Documents/cpu-$(date +\%F) 

Um festzustellen, welche Prozesse am meisten CPU verwenden, fügen Sie eine solche Zeile zu crontab hinzu:

* * * * * ps -eco '\%cpu= comm='|sed $'s/^ *//;s/ /\t/'>>~/Documents/cpu 

Führen Sie dann später einen Befehl aus:

awk -F$'\t' 'END' ~/Documents/cpu|sort -rn 
Ich hatte so große Angst, eine Lösung implementieren zu müssen, als das Tool herunterzuladen. Na ja, noch ein lustiges Projekt auf meiner Liste ;-) SystematicFrank vor 10 Jahren 0