O Gerenciador de Tarefas tenta fazer as coisas em tempo real. É polling recursos em uma freqüência definida. Para qualquer conjunto de métricas e carga sendo monitorado pelo gerenciador de tarefas, o número de instruções é determinado por algum valor fixo pelo algoritmo em funcionamento.
Se estiver usando 20% de CPU para um determinado conjunto de métricas, é porque não há muito CPU para começar. Se você executar a mesma carga em uma máquina com 10X a CPU, ela ocupará apenas 2% da CPU.
A% de CPU usada é, portanto, relativa à CPU disponível. No caso de uma VM, é relativo à capacidade física da CPU sua execução em menos a capacidade da CPU consumida pelas outras VMs.
20% é apenas muito em relação ao total de CPU disponível para a VM, e só é importante se você tiver coisas melhores a fazer com essa CPU.
BTW - lembre-se de que você não deve se preocupar com o consumo de CPU, a menos que esteja sendo consumido e não esteja fazendo algo útil, ou não fazendo o suficiente, porque você tem mais coisas para fazer.
100% de consumo de CPU não é ruim, é desejável. Isso significa que, para uma determinada carga de trabalho, você está correndo o mais rápido possível. Monitore a fila da CPU, se esta for > 0, então você precisa de mais CPU.
Usando < 100% da CPU não é boa, especialmente quando você está tentando fazer o trabalho. Tenha em mente que a CPU é um recurso temporal. Ciclos não utilizados não podem ser armazenados e não têm valor, eles simplesmente representam oportunidades desperdiçadas para fazer as coisas.
Um sistema ideal mostra apenas CPU extra quando não está carregado.