Parallels löst auf einem Mac Book Pro keinen Turbo Boost aus

527
MiDaa

Ich habe diese Frage im PD-Forum gestellt, aber ich glaube, hier sind mehr Zielgruppen ... Hier kommt die Frage :)

Ich habe eine einfache Google-Suche ausprobiert und es kommt nichts heraus. Ich denke, nur wenige haben dieses potenzielle Problem bemerkt, das dazu führen kann, dass unsere VM langsamer arbeitet, als es sein könnte.

Bei modernen Intel-CPUs gibt es eine eingebaute Technologie mit Turbo Boost, die die Taktgeschwindigkeit bei schwerer Arbeit erhöht und auf eine niedrige Frequenz zurückkehrt, wenn die Arbeit erledigt ist oder die CPU aufgrund schlechter Kühlung überhitzt ( oder arbeiten Sie zu lange mit einer höheren Taktrate).

Bevor ich näher ins Detail gehe, teste ich einen MBP 2017 mit dieser CPU 3.1GHz quad-core Intel Core i7, Turbo Boost up to 4.1GHz, with 8MB shared L3 cache

Wenn ich eine Mac-Anwendung verwende, funktioniert der Turbo-Boost immer. Wenn ich ein Projekt in Android Studio erstelle, steigt die CPU-Frequenz in meiner Beobachtung auf 3,8 GHz (weiß nicht, ob es tatsächlich auf 4,1 GHz geht, spielt keine Rolle, da es zumindest verstärkt ist).

Allerdings, wenn ich auf PD Win VM bin, selbst wenn ich ein großes Projekt in VS aufbaue, das fast die gesamte CPU auf der VM verbraucht und etwa 50-60% der CPU auf dem Mac verbraucht (ich ordne der VM 4 Logikkerne zu.) empfohlene Einstellung), Turbo-Boost wird nicht ausgelöst, CPU läuft konstant mit einer Frequenz von 2,2 bis 2,5 GHz, geht selten auf 3 GHz.

Ich weiß, dass dies ein schwieriges Problem sein kann, da es sich um eine Hardwaretechnologie handelt (möglicherweise auch um das CPU-Management von Mac). Wenn jedoch unsere VM Turbo Boost auslösen kann, kann die Spitzenleistung (Perioden) um ~ 50% gesteigert werden (die Berechnung lautet ( 3,8-2,5) / 2,5).

Eine Idee dazu?

1

1 Antwort auf die Frage

1
Eugen Rieck

Die virtuelle CPU, die Parallels der VM vorlegt, muss nicht alle Funktionen haben (und meistens nicht), die die physische CPU des Hosts besitzt. Ein Turbo-Boost ist eine Funktion, die häufig leidet: Um das System sinnvoll nutzen zu können, muss das System einen Überblick über die Vorgänge auf allen Kernen der CPU haben - eine VM hat dies offensichtlich nicht.

Allgemeiner ausgedrückt: Was auch immer in der CPU-Wärmeleitung vor sich geht, kann nicht einfach von einer VM ausgeführt werden, sondern nur vom Host-Betriebssystem, da einer VM das Wissen über die Verwaltung fehlt.

Okay, danke für die Antwort. Ich habe keine Kenntnisse darüber, wie die VM die CPU verwendet, wird sie nicht vom Host verwaltet (Virtualisierungssoftware), oder werden nur die der VM zugewiesenen CPU-Kerne direkt verwendet, und der Host verliert die Kontrolle über diese Kerne? Ich verstehe nicht, warum die CPU keinen Turbo auslöst, obwohl sie weiß, dass etwas Schweres passiert (basierend auf der CPU-Auslastung?), Unabhängig davon, ob die schwere Last durch eine Host-App oder eine VM-App verursacht wird. MiDaa vor 5 Jahren 0
Das CPU-Wärmemanagement (in dem sich Turbo Boost befindet) erfordert die Zusammenarbeit zwischen Betriebssystem und CPU. Wenn das Betriebssystem nicht zusammenarbeitet, läuft die CPU "sicher" (dh ohne Turbo Boost). Das Betriebssystem in der VM kann nicht mit der CPU zusammenarbeiten, da ihm das Wissen fehlt, und es kann die CPU nicht zur Beschleunigung auffordern. Eugen Rieck vor 5 Jahren 0
Okay .. Ich denke, das mangelnde Wissen in diesem Bereich lässt mich nicht verstehen, warum vm os diese Informationen nicht erhalten kann. Trotzdem danke für die Erklärung, als akzeptiert zu haben. MiDaa vor 5 Jahren 0