I picchi temporanei di utilizzo della CPU non rappresentano necessariamente un problema, ma un utilizzo costantemente elevato della CPU può indicare un problema. È possibile utilizzare i grafici delle prestazioni della CPU per monitorare l'utilizzo della CPU per host, cluster, pool di risorse, macchine virtuali e vApp.
Problema
- L'utilizzo della CPU dell'host è costantemente elevato. Un elevato valore di utilizzo della CPU può causare un aumento del tempo di attesa e dell'accodamento del processore delle macchine virtuali nell'host.
- L'utilizzo della CPU della macchina virtuale è superiore al 90% e il valore di attesa della CPU è superiore al 20%. Ciò influisce sulle prestazioni delle applicazioni.
Causa
- È probabile che l'host non disponga delle risorse CPU necessarie per soddisfare la richiesta.
- È possibile che ci siano troppe CPU virtuali rispetto al numero di core del processore fisico.
- È possibile che si verifichi un'operazione di storage di I/O o di rete che posiziona la CPU in uno stato di attesa.
- Il sistema operativo guest genera un carico eccessivo per la CPU.
Soluzione
- Verificare che in ogni macchina virtuale dell'host sia installato VMware Tools.
- Confrontare il valore di utilizzo della CPU di una macchina virtuale con l'utilizzo della CPU di altre macchine virtuali sull'host o nel pool di risorse. Il grafico a barre impilate nella vista Macchina virtuale dell'host mostra l'utilizzo della CPU per tutte le macchine virtuali nell'host.
- Stabilire se il tempo di attesa elevato per la macchina virtuale è dipeso dal fatto che il tempo di utilizzo della CPU ha raggiunto il limite della CPU. In tal caso, aumentare il limite della CPU nella macchina virtuale.
- Aumentare le condivisioni della CPU per offrire alla macchina virtuale maggiori opportunità di esecuzione. Il tempo di attesa totale nell'host potrebbe rimanere allo stesso livello se il sistema host è vincolato dalla CPU. Se il tempo di attesa dell'host non diminuisce, impostare le prenotazioni della CPU per le macchine virtuali con priorità alta in modo da garantire che ricevano i cicli di CPU richiesti.
- Aumentare la quantità di memoria allocata alla macchina virtuale. Ciò può ridurre le attività del disco e/o della rete per le applicazioni che memorizzano nella cache. Questo potrebbe ridurre il traffico di I/O e/o di rete del disco, che potrebbe a sua volta ridurre l'utilizzo della CPU. Le macchine virtuali con allocazioni di risorse inferiori accumulano in genere più tempo di attesa per la CPU.
- Ridurre il numero di CPU virtuali in una macchina virtuale al numero necessario per eseguire il carico di lavoro. Ad esempio, un'applicazione con thread singolo in una macchina virtuale a quattro vie può beneficiare solo di una singola vCPU. Tuttavia, la manutenzione di ESXi delle tre vCPU inattive richiede cicli della CPU che possono essere utilizzati per altre attività.
- Se l'host non si trova già in un cluster DRS, aggiungerlo. Se l'host si trova in un cluster DRS, aumentare il numero di host e migrare una o più macchine virtuali nel nuovo host.
- Se necessario, aggiornare le CPU fisiche nell'host.
- Utilizzare la versione più recente del software hypervisor e abilitare le funzionalità di salvataggio della CPU come offload della segmentazione TCP, pagine di memoria di grandi dimensioni e frame Jumbo.