Aktivitätsanzeige: Was sagt „% CPU“ bei Apple Silicon noch aus?
Die Aktivitätsanzeige ist Apples vorinstalliertes Dienstprogramm zur Analyse von Ressourcen. In Reitern listet sie Routinen und Programme danach auf, wie viel CPU oder RAM sie gerade beanspruchen und welche Daten sie aktuell mit der SSD oder übers Netz austauschen. Standardmäßig wird der CPU-Reiter angezeigt; darin ist die Spalte „% CPU“ beim Programmstart ausgewählt. Anwender können sich diese auch als „Verlauf der CPU-Auslastung“ in einem Extrafenster oder im Dock-Icon anzeigen lassen. Eine detaillierte Analyse des Mac-Entwicklers Howard Oakley stellt nun die universelle
Aussagekraft der CPU-Auslastung infrage: Aufgrund ausdifferenzierter Kerne sowie variabler Taktraten verliere der universelle Prozentwert an Bedeutung.
Schon auf den ersten Blick können Prozentwerte von über 100 Anwender verwirren. Dieses Paradoxon besteht bereits seit Jahrzehnten: Ein Intel-Mac kann 800 Prozent, bei Hyperthreading bis zu 1600 Prozent Auslastung aufteilen. Bei Apple Silicon seien die einzelnen Rechenkerne obendrein ausdifferenziert; es gebe Effizienz- und Leistungskerne. Jeder von ihnen trage mit 100 Prozent zur maximalen Prozessorauslastung bei, obwohl die Leistungskerne (P-Cores) deutlich schneller arbeiteten als die Effizienzkerne (E-Cores).
Variable TaktrateHinzu kommt, dass M-Prozessoren ihre Taktraten an aktuelle Anforderungen anpassen: Sowohl P- und E-Kerne arbeiten mit übereinstimmender Taktrate. Max-, Ultra- sowie einige Pro-Varianten unterteilen Kerne in Gruppen von vier bis sechs, die mit jeweils einheitlicher Frequenz arbeiten. Somit verarbeiten Kerne je nach Zeitpunkt ganz unterschiedliche Datenmengen.
QoS entscheidetUm herauszufinden, ob sich diese Diversität im %CPU-Wert widerspiegele, erstellte Oakley Testroutinen, welche eine konstante Zahl an Fließkommaberechnungen durchführen. Diese wies er dem Prozessor mehrfach zu: einmal in acht Threads mit hoher Priorität, einmal in zwei Threads mit niedriger Priorität. Programmierer deklarieren dafür einen „Quality of Service“-Wert (QoS). In der Aktivitätsanzeige war die Last erwartbar verteilt: „% CPU“ zeigte einmal 800 Prozent Auslastung, einmal 200 Prozent. Oakleys M3 Pro weist lediglich sechs Leistungskerne auf, weshalb in der hochpriorisierten Kalkulation zwei der Threads von Effizienzkernen übernommen wurden. Diese arbeiteten langsamer und benötigten 3 Sekunden, um ihre Aufgabe zu vollenden. Zum Vergleich: Mit zwei Threads und niedrigem QoS benötigte der Prozessor 10,4 Sekunden für dieselben Berechnungen. Obendrein übernahmen die Berechnungen nicht zwei dedizierte Kerne, stattdessen verteilte Apple Silicon sie zwischen allen sechs E-Cores.
Mehr Messdaten per TerminalDieselbe Aufgabe belegte in der Aktivitätsanzeige also jeweils 200 Prozent, benötigte bei niedrigem QoS-Wert jedoch mehr als dreimal so lang. Oakleys Schlussfolgerung: Die „% CPU“-Angabe hat zwar immer noch ihre Berechtigung (etwa beim Aufspüren eingefrorener Programme), verliere aber zunehmend an Aussagekraft: Innerhalb der Aktivitätsanzeige finde die Prozessorfrequenz keine direkte Erwähnung. Für ausführlichere Statistiken müssen Anwender auf das Terminal ausweichen. Das vorinstallierte
Powermetrics umfangreiche Statistiken zu CPU, GPU, Neuralkerne sowie deren Frequenz in ausführliche Log-Dateien. Für einen ressourcenschonenden Live-Monitor kann man mit dem Paketmanager Homebrew das Kommandozeilenwerkzeug
asitop installieren.
Das Kommandozeilen-Tool „asitop“ zeigt eine aussagekräftigere Übersicht als die Aktivitätsanzeige.