CPU-gestohlene Zeit durch VMware Guest SDK stimmt nicht mit der CPU-Bereitschaftszeit überein

782
s106mo

Ich verwende die VMware Guest SDK-Bibliothek, um die CPU-Bereitschaftszeit der virtuellen Maschine herauszufinden, auf der meine Anwendung ausgeführt wird.

Gemäß der VMware-Dokumentation stellt die Methode VMGuestLib_GetCpuStolenMsder vmGuestLib diesen Wert bereit:

Die Zeit (in ms), zu der die VM lauffähig war, aber nicht geplant wurde.

Wenn ich jedoch die CPU-Bereitschaftszeit für dieselbe virtuelle Maschine im vSphere-Client darstelle, erhalte ich andere Werte. Während ich beispielsweise im vSphere-Client für Zeitintervalle von 20 Sekunden CPU-Bereitschaftszeiten zwischen 0 und 22 ms erhalte, bekomme ich gestohlene Zeiten von 550 bis 650 ms, wenn ich die VMware Guest SDK-Bibliothek für (ungefähr) die gleiche Zeitspanne verwende.

Meine Berechnung der gestohlenen CPU-Zeit für die letzten 20s sieht folgendermaßen aus (Pseudo-Code):

oldStolenMs = vmLib.getCpuStolenMs() sleep_in_seconds(20) newStolenMs = vmLib.getCpuStolenMs()  stolenMs = newStolenMs - oldStolenMs // additionally I verify that the elapsed time of the VM is indeed 20s 
2
Ich denke, es ist ziemlich klar, dass Sie die technischen Details dahinter nicht verstehen, aber dies ist eine so obskure Frage, glauben Sie, dass hier jemand zufällig davon erfahren würde? vor 8 Jahren 0
@Florian: Sorry, aber dein Kommentar ist überhaupt nicht hilfreich. In der VMware-Dokumentation heißt es, dass beide Werte gleich sein sollten. In meinem Fall unterscheiden sich die Werte jedoch um Größenordnungen. Warum ist die Frage aus dem Grund "obskur"? s106mo vor 8 Jahren 2
Haben Sie jemals eine Antwort darauf gefunden? Steve365 vor 7 Jahren 0
@ Steve365 Leider habe ich die Ursache nicht herausgefunden. Auf dem VMware-Board gibt es im Wesentlichen die gleiche (noch unbeantwortete) Frage: https://communities.vmware.com/message/2565977#2565977 - Wenn Sie Zugriff auf den VMware-Support haben, würde ich Ihnen empfehlen, ein Ticket für sie zu eröffnen . s106mo vor 7 Jahren 0

0 Antworten auf die Frage