
Mac-Tipp: Prozesse auf Apple Silicon drosseln – oder beschleunigen


Bevor 2020 die ersten Macs mit Apple Silicon auf den Markt kamen, waren die Rechenkerne eines Macs stets gleichförmig – und gleichberechtigt. M-Chips unterteilen ihre CPU-Module in zwei Kategorien: stromsparende Effizienz- sowie leistungsstarke Performance-Kerne. Damit einher geht eine Veränderung im Betriebssystem, denn macOS muss nach Bedarf entscheiden, in welchem Bereich ein Thread am besten aufgehoben ist. Dabei spielen viele Faktoren eine Rolle, etwa die Gesamtzahl anstehender Threads, wie viele Kerne aktuell beschäftigt sind sowie die aktuelle Temperatur. Ausgangspunkt stellt jedoch der QoS-Wert dar. Ein Artikel von Howard Oakley gibt Einblick, wie er funktioniert – und wie Anwender auf ihn
Einfluss nehmen können.
QoS steht für „Quality of Service“, mit ihm bewerten App-Entwickler vorab die Wichtigkeit von CPU-Aufgaben. Je höher ein QoS-Wert, desto wichtiger ist eine Berechnung. Oakley erklärt, dass Programmierer lediglich zwischen vier Relevanzstufen wählen können: 9, 17, 25 und 33. Was eine 9 zugewiesen bekommt, ist für Hintergrundprozesse gedacht und wird ausschließlich von den langsameren Effizienzkernen bearbeitet. Ab Stufe 17 bevorzugt macOS eine Ausführung in einem Leistungskern.
Einfluss nehmen auf Kern-PräferenzWer schon sehr lange mit Macs arbeitet, kennt vielleicht den Terminal-Befehl „nice“ oder das (inzwischen obsolete) Mac-Programm
Renicer. Mit ihnen konnte ein Nutzer Programme und Prozesse in Mac OS X neu priorisieren. Ein nice-Wert von 1 entsprach der höchsten Priorität, 10 der niedrigsten. Auf Macs mit Apple Silicon funktioniert der nice-Befehl nicht zuverlässig. In gewissem Maße können Anwender trotzdem Einfluss nehmen – dank des Kommandozeilenbefehls „taskpolicy“. Dafür müssen Sie zunächst die Prozess-ID eines Programms herausfinden. Das gelingt über das Programm „Aktivitätsanzeige“. In der PID-Spalte erscheint eine ein- bis fünfstellige Zahl. Zusätzlich benötigen Sie das Dienstprogramm „Terminal“. Mit dem Befehl
taskpolicy -b -p [PID]
verdonnern Sie ein Programm oder einen Prozess, sich fortan auf die Effizienzkerne zu beschränken. Dafür ersetzen Sie [PID] durch die Zahl, welche Sie in der Aktivitätsanzeige ermittelt haben. Auf diese Weise kann es gelingen, einem aufgrund ausgelasteter P-Kerne nur noch träge reagierenden Mac wieder zu einer zeitnah reagierenden Bedienoberfläche zu verhelfen. Um die Beschränkung rückgängig zu machen, tauschen Sie das kleine b durch ein großes B aus:
taskpolicy -B -p [PID]
Auf spezialisierte Komponenten, etwa GPU- oder Neuralkerne, nimmt taskpolicy übrigens keinen Einfluss. Für diejenigen, die ungern die Kommandozeile bemühen, empfiehlt Oakley das Programm „
App Tamer“. Sie erlaubt das dynamische Bremsen freidrehender Prozesse aus der Menüleiste heraus. Es lässt sich kostenlos für 15 Tage testen.
App Tamer listet Prozesse mit hoher Aktivität auf und bremst sie bei Bedarf.
Beschleunigung nur über VirtualisierungEinen offiziellen Weg, um einen Prozess mit niedrigem QoS-Wert hochzustufen, konnte Oakley bisher nicht entdecken. Er wartet jedoch mit einem Tipp auf: Startet man eine Virtuelle Maschine, werden deren Prozesse generell an Performance-Kerne delegiert. Innerhalb einer macOS-VM wird also jede Berechnung automatisch auf den leistungsfähigeren (und stromhungrigeren) Kernen durchgeführt.