Wie berechnet Apple den Energieverbrauch eines Prozesses in OS X Mavericks?

14

In OS X Mavericks können Sie den Energieverbrauch verschiedener Prozesse in Activity Monitor überwachen. Aktivitätsmonitor mit den Energy Impact-SpaltenHier sehen wir 'Energy Impact' und Avg Energy Impact 'und dass die Werte 100 überschreiten können.

Außerdem wird es ein Menüleistensymbol geben, das die derzeit am meisten Energie verbrauchenden Anwendungen auflistet.

Gibt es eine Dokumentation, wie Apple den aktuellen Energieverbrauch berechnet? Gibt es eine Zuordnung zwischen CPU-Auslastung und Energieverbrauch?

Hoffentlich gibt es hier einige Experten, die mir einen Tipp geben können.

Kilosh
quelle

Antworten:

1

Es gibt viele Aspekte der CPU-Auslastung, die sich auf den Energieverbrauch auswirken. Es ist nicht nur, wie viel CPU eine Anwendung verbraucht, sondern auch, wie oft und wie flexibel sie ist. Letzteres kann viel größere Wirkung haben.

Eine Anwendung, die genau alle 10 ms aufgeweckt werden muss, um nur einige Zeilen einfachen Obj-C-Codes auszuführen, kann eine um eine Größenordnung größere Auswirkung auf die Energie haben als dieselbe Anwendung, die Tausende von Codezeilen ausführt, jedoch nur einmal pro Sekunde und nicht sehr umfangreich ist insbesondere darüber, wann genau innerhalb dieser Sekunde die Berechnung stattfinden wird.

Apple verwendet wahrscheinlich Intels Leistungsindikatoren und weist diese Ihrer Anwendung zu. Sie erhalten wahrscheinlich den größten Einblick, wenn Sie zuerst die Intel-Handbücher befolgen, um die Energiezustände und das Energiemanagement zu verstehen. Dies variiert stark zwischen den Architekturen. Eine sich schlecht verhaltende App kann einen viel größeren Einfluss auf Haswell haben als auf einer "alten" Core 2-Maschine.

Die Verwendung anderer Ressourcen, z. B. des Audiosystems, der Festplatten-E / A-Vorgänge oder der Verwendung von USB-Geräten, kann ebenfalls berücksichtigt werden. Eine wahrscheinliche Abrechnungsmethode würde Ihrer Anwendung den gesamten Energieverbrauch zuweisen, der für die von Ihrer Anwendung ausschließlich verwendeten Ressourcen erforderlich ist (z. B. ein benutzerdefiniertes USB-Gerät, Zugriff auf ein ansonsten heruntergefahrenes Audiosystem) und eine Art Pro-Rating für gemeinsam genutzte Hardware.

Setzen Sie Monica wieder ein
quelle
1

Alles beginnt mit präziser Überwachung und Messungen bis zu Millisekunden.

Als Beispiel hat Intel ein Tool zur Überwachung der Intel-CPU-Parameter entwickelt.

Es zeigt die Leistung, die Frequenz und die Temperatur an.

Der Stromverbrauch und die Temperatur sind Produkte der Frequenz (der Geschwindigkeit) oder der verarbeiteten Datenmenge.

Die Abtastrate ist Millisekunden und die Leistung ist in Watt. Sie misst die Gesamtleistung für die CPU, während die Aktivitätsüberwachung sie nach Anwendung / Prozess aufschlüsselt.

Intel

Hier ist ein Artikel von Apple über die Energieverwaltung / den Energieverbrauch, in dem detailliert beschrieben wird, wie die Energieverwaltung erfolgt.

Zusammenfassend lässt sich sagen, dass mit der ms-Leistungsmessung der Gesamtstromverbrauch besser gesteuert werden kann.

Vor dem TC

Vor

Anhand der obigen Informationen zu den einzelnen Anwendungen und des daraus resultierenden kumulativen Stromverbrauchs hat Apple die Funktionen Timer Coalescing und App Nap implementiert, um den Stromverbrauch zu verwalten.

Nach TC

nach

Weitere Informationen zu den obigen Diagrammen finden Sie in diesem Artikel .

Da die Aktivität der CPU-Steuerung die RAM-Verwaltung und das Lesen / Schreiben von Datenträgern einschließt, verringern beispielsweise Network Card und andere die Verbesserung der RAM-Verwaltung auch den Stromverbrauch, der durch zu häufige R / W-Aktivitäten auf den Datenträgern entsteht.

Es gibt viele Aspekte der Energieverwaltung und sie sind eine Kombination aus sehr genauen Mess- und Softwaredesigns, um den Energieverbrauch zu senken.

Einige Beispiele sind:

App Nap-Funktion

Timer-Koaleszenzfunktion PDF

RAM-Verwaltungsfunktion

Ruskes
quelle
1
@grgarside Die Bilder scheinen von den Seiten zu stammen, die in den Antworten verlinkt sind. Trotzdem würde es nicht schaden, die Quelle jedes Bildes explizit anzugeben.
Nohillside
1
@ Patrix- getan, zeigte Quellen für alles :)
Ruskes
0

Es scheint keine Dokumentation zu geben, wie der Stromverbrauch berechnet wird. Die CPU-Auslastung allein kann den Stromverbrauch nicht zuverlässig vorhersagen. Die wichtigsten Faktoren wären also (diese ergänzen sich in gewisser Weise mit dem, was App Nap betrachtet und steuert):

  • CPU auslastung
  • Datenträgereingang / -ausgang
  • Netzwerk Ein- / Ausgang
  • Verwendung von Peripheriegeräten (z. B. Audio-Lautsprecher)

Auch hier gibt es keine Details darüber, wie jeder dieser Faktoren gemessen wird und welche Formeln zur Berechnung des Stromverbrauchs verwendet werden. Wir können eine Vermutung anstellen, dass jeder Mac (und auch PC) mit verschiedenen Sensoren im System ausgestattet ist. Sie können ein Tool wie Hardware Monitor verwenden , um in Echtzeit zu sehen, welche Sensoren auf Ihrem Mac vorhanden sind und über welche Daten sie Bericht erstatten.

Die wichtigsten Sensoren für den Energieverbrauch, die in Hardware Monitor verfügbar sind (und es schon seit mehreren Jahren gibt), sind die CPU-Spannung, der CPU-Strom und die CPU-Leistung. Für andere Elemente in der obigen Liste gibt es keine Hardware-Sensoren zum Messen des Stromverbrauchs. Daher muss Apple abhängig vom Modell des Mac und der zugrunde liegenden Hardware bestimmte Extrapolationsfaktoren verwenden.

MK
quelle