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

679
s106mo

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

0 ответов на вопрос

Похожие вопросы