M4.large no AWS encontra cpu roubada

2

Minha instância M4.large relatou alguma CPU roubada. No entanto, se eu não me lembro errado. Deve ocorrer apenas em instâncias da série T2 ou M3.

top - 11:07:53 up 24 min,  2 users,  load average: 1.00, 1.00, 0.80
Tasks:  89 total,   2 running,  87 sleeping,   0 stopped,   0 zombie
Cpu0  : 29.0%us, 62.6%sy,  0.0%ni,  8.0%id,  0.1%wa,  0.0%hi,  0.0%si,  0.3%st
Cpu1  :  0.1%us,  0.0%sy,  0.0%ni, 99.4%id,  0.1%wa,  0.0%hi,  0.0%si,  0.4%st

$ lscpu -p
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
# starting from zero.
# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
0,0,0,0,,0,0,0,0
1,0,0,0,,0,0,0,0

Estou usando o conjunto de tarefas 1 dd if = / dev / zero de = / dev / null para tornar a CPU um pico na vCPU 0.

De acordo com o documento da AWS, o hardware subjacente está usando: Processadores Intel Xeon® E5-2686 v4 (Broadwell) de 2,3 GHz ou processadores Intel Xeon® E5-2676 v3 (Haswell) de 2,4 GHz

que têm dois núcleos lógicos por físico.

Além do M3.large, notei que o M4.xlarge também tem esse problema, no qual o tipo inclui 2 núcleos físicos e, portanto, 4 vCPU. Eu testei em M4.xlarge com o comando taskset também. quando havia um pico na vCPU ou no mesmo núcleo ou o diferente causou a CPU roubada.

Por exemplo, vCPU0 e vCPU2 coexistem no Core0. Quando eu produzo o pico sobre eles, posso ver magicamente a CPU roubada na vCPU1.

Estava bem ligado. Por favor, ajude a descobrir o motivo. Obrigado.

    
por Jepsenwan 14.07.2017 / 13:18

1 resposta

1

Normalmente, o roubo da CPU ocorre em qualquer infraestrutura virtualizada, conforme as necessidades das VMs mudam. O roubo de CPU é o roubo de ciclos de sua VM por outra VM - não por diferentes núcleos dentro de sua VM.

Dado que a Amazon está usando uma build (embora altamente customizada) do Xen, o roubo da CPU deve ser esperado até certo ponto, e < 1% é absolutamente esperado e não deve realmente alterar as características do desempenho da instância.

Além disso, a Amazon afirma explicitamente que as instâncias EC2 recebem ECUs - Elastic Compute Units - que se traduzem em uma certa quantidade de ciclos quando comparados com uma CPU específica (da memória costumava ser um Xeon mais antigo), então só porque você está dado um certo número de núcleos de CPU não significa que você está recebendo esse número de núcleos físicos.

    
por 14.07.2017 / 16:39