O tempo de CPU roubado pelo VMware Guest SDK não corresponde ao tempo de prontidão da CPU

2

Estou usando a biblioteca do VMware Guest SDK para descobrir o tempo de prontidão da CPU da máquina virtual que está executando o meu aplicativo.

De acordo com a documentação da VMware, o método VMGuestLib_GetCpuStolenMs do vmGuestLib fornece esse valor:

The time (in ms) that the VM was runnable but not scheduled.

No entanto, se eu mapear o tempo de prontidão da CPU para a mesma máquina virtual no cliente vSphere, obtenho valores diferentes. Por exemplo, embora eu tenha tempos de CPU entre 0 e 22ms no vSphere Client por intervalos de 20s, recebo tempos de 550 a 650ms roubados usando a biblioteca VMware Guest SDK por (aproximadamente) os mesmos períodos de tempo.

Meu cálculo do tempo roubado da CPU nos últimos 20 anos é semelhante a esse (pseudo código):

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
    
por s106mo 18.07.2016 / 16:33

0 respostas