Uygulamamı çalıştıran sanal makinenin CPU hazır olma zamanını bulmak için VMware Guest SDK kitaplığını kullanıyorum.
VMware belgelerine göre, VMGuestLib_GetCpuStolenMs
vmGuestLib yöntemi şu değeri sağlar:
VM'nin çalıştırılabilir ancak zamanlanmayan süresi (ms cinsinden).
Bununla birlikte, aynı sanal makine için CPU hazırlanma zamanını vSphere istemcisinde hesaplarsam farklı değerler elde ederim. Örneğin, vSphere Client uygulamasında 20s aralıklarla 0 ile 22ms arasında CPU hazır zamanları alırken, VMware Guest SDK kütüphanesini aynı zamanda (kabaca) kullanabilmek için 550 ila 650ms arası çalınan süreleri alıyorum.
İşlemcinin son 20'ler için çalındığı zaman hesaplamam şuna benziyor (sözde kodu):
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
Bunun arkasındaki teknik detayları anlamadığınızı açıkça biliyorum, ama bu kadar gizli bir soru, burada birisinin bunu bileceğini mi düşünüyorsunuz?
@ Florian: Üzgünüz, ancak yorumunuz hiç yardımcı değil. VMware belgeleri her iki değerin de aynı olması gerektiğini belirtir. Ancak, benim durumumda değerler büyüklük derecelerine göre değişmektedir. Neden bir "belirsiz" olduğu sorusu soruluyor?
—
s106,
Buna hiç bir cevap buldun mu?
—
Steve365
@ Steve365 Ne yazık ki, kök nedenini çözmedim. VMware panosunda temelde aynı soru var (hala cevapsız): communities.vmware.com/message/2565977#2565977 - VMware desteğine erişiminiz varsa, onlar için bir bilet açmanızı öneririm.
—
s106mo