Portanto, temos várias VMs em execução em um servidor ESX 4.1 para teste de produto. O ESX Server às vezes está sob carga pesada. Temos experimentado altos níveis de CPU durante alguns casos de uso, mas nem sempre podemos duplicar isso. Se o servidor ESX como um todo estiver sob carga pesada, isso poderá fazer com que as máquinas convidadas apresentem alto uso de CPU?
Em outras palavras, se as máquinas convidadas exigem mais recursos de CPU do que o servidor, como isso afeta o uso da CPU conforme indicado pelo sistema operacional e pelo processo?
Responder1
Uma das fontes canônicas para dicas de desempenho do ESX é oGuia de solução de problemas de desempenho! (PDF)
Resumindo: se o seu host estiver ocupado e suas VMs estiverem relatando um alto "tempo de prontidão" (que é um contador de quando a VM está pronta para executar o trabalho, mas nenhuma CPU física pode ser encontrada para a máquina ser agendada por o hipervisor), então os sintomas que você está enfrentando não são que o uso da CPU no convidado seja alto, mas que as VMs individuais não estão obtendo tempo de CPU física suficiente para atender sua carga de trabalho. Isso pode se manifestar no convidado como um alto uso da CPU, mas é apenas um erro contábil que o convidado está cometendo porque não tem conhecimento da virtualização em si.
Portanto, verifique o tempo de prontidão e, se estiver realmente alto, encontre uma maneira de adicionar mais CPU física à sua máquina/cluster ou reduzir o uso.
O monitoramento da CPU in-guest tem o potencial de distorcer quando a máquina está ociosa e também quando está ocupada. Num cenário, o processo inativo não é agendado pelo hipervisor. Por outro lado, o alto uso por muitas máquinas resultará na privação de CPU de algumas máquinas e, portanto, o monitoramento em nível de convidado não deve ser usado sem monitoramento adicional em nível de hipervisor.
Responder2
O monitoramento da CPU no convidado é uma má idéia, é quase impossível inerentemente para qualquer convidado saber realmente quanto tempo de CPU está demorando, em qualquer hipervisor - a única maneira real de saber é olhar para fora através do hipervisor. Então, sim, um hipervisor muito ocupado poderia facilmente tornar uma estatística de uso da CPU no convidado muito errada, sim - apenas não confie nesses números de qualquer maneira.