Os dados expostos por top
geralmente são insuficientes ou enganosos em ambientes virtualizados como o Amazon EC2 e a porcentagem relatada depende do tipo de instância e da utilização do núcleo do processador subjacente (que geralmente não corresponde ao hardware virtualizado que você recebe do hypervisor), entre outras coisas - o que você está vendo é provavelmente causado pelo respectivo tempo de roubo da CPU, conforme exposto na maioria das ferramentas de monitoramento Unix / Linux atualmente - veja, por exemplo, as colunas% steal ou st in sar
ou top
:
st - Steal Time
A quantidade de CPU 'roubada' desta máquina virtual pelo hypervisor para outras tarefas (como executar outra máquina virtual).
A postagem do blog sobre monitoramento EC2: o caso de CPU roubada fornece uma boa exploração e ilustração deste tópico:
Quando o comando top exibe 40% da CPU ocupada, mas o CloudWatch diz que o servidor está no máximo em 100% - de que lado você está? A resposta é simples (o CloudWatch está correto, o topo não está) [...]
Observe que essa métrica do hipervisor parece ser (facilmente) acessível apenas em sistemas Unix / Linux, mas não parece observável no Windows (ainda); veja minha pergunta. Existe um equivalente do Windows para 'CPU steal time' do Windows? para saber mais sobre esse problema.