und habe den Takt ausgelesen. Es waren grundsätzlich 2GHz.
Meines Erachtens nach kannst du den echten anliegenden Takt in einer VM nicht auslesen. Die ausgelesene Zahl ist eine Vorgabe.
Du müsstest den Takt messen - hierfür brauchst du einen (Assembler)Befehl, von dem du genau weißt, wie viele Taktzyklen er zzgl. Virtualisierung benötigt.
Du misst, wie viele Ausführungen der Befehl in einer Zeitspanne erreicht, anhand dessen kannst du den Durchschnittstakt berechnen.
Das Betriebssystem selber misst nicht, sondern bekommt nur einen Wert vom Host angezeigt. Der anzeigte Wert liegt immer bei 2 GHz - das ist auch das, was der Support sagt.
Wenn keiner sich was in Assembler ausdenkt, gucke ich mal, was ich in C so hinbekomme zum Messen.
Mir fallen hier nur Varianten mit Registerzugriffen ein - die alle durch eine MemoryBarrier länger dauern könnten, als erwartet.