Время, украденное ЦП VMware Guest SDK, не соответствует времени готовности ЦП

2

Я использую библиотеку VMware Guest SDK, чтобы определить время готовности процессора виртуальной машины, на которой запущено мое приложение.

Согласно документации VMware, метод VMGuestLib_GetCpuStolenMsvmGuestLib обеспечивает это значение:

Время (в мс), в течение которого виртуальная машина работала, но не была запланирована.

Однако, если я планирую время готовности ЦП для той же виртуальной машины в клиенте vSphere, я получаю другие значения. Например, хотя я получаю время готовности ЦП от 0 до 22 мс в vSphere Client с интервалами в 20 с, я получаю украденное время от 550 до 650 мс, используя библиотеку VMware Guest SDK для (примерно) одинакового промежутка времени.

Мой расчет времени кражи процессора за последние 20 секунд выглядит следующим образом (псевдокод):

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
s106mo
источник
Я думаю, что совершенно ясно, что вы не понимаете технических деталей, стоящих за этим, но это такой неясный вопрос, как вы думаете, кто-нибудь здесь случайно узнает об этом?
2
@Florian: Извините, но ваш комментарий не поможет вообще. В документации VMware говорится, что оба значения должны быть одинаковыми. Однако в моем случае значения отличаются на порядки величины. Почему вопрос по причине "неясный"?
s106mo
Вы когда-нибудь находили ответ на это?
Steve365
@ Steve365 К сожалению, я не выяснил причину. На плате VMware есть по существу тот же самый вопрос ( по- прежнему без ответа): communities.vmware.com/message/2565977#2565977 - Если у вас есть доступ к поддержке VMware, я хотел бы предложить , что вы открываете билет для них.
s106mo