Uso da CPU da VM em 100%

6

O uso da CPU em nossa caixa de métricas está causando 100% intermitentemente:
'Erro interno do servidor' ao renderizar painéis do Grafana

O único aplicativo em execução na nossa máquina é o Docker com 3 subcontainers

  • cadvisor
  • grafite

  • grafana

Especificação da máquina
Versão OS Ubuntu 16.04 LTS
Lançamento 16,04 (xenial)
Versão do kernel 4.4.0-103-generic
Versão do Docker 17.09.0-ce
CPU 4 núcleos
Memória 4096 MB
Reserva de memória é ilimitada Adaptador de rede mgnt

Armazenamento
Sobreposição de drivers2
Fazendo backup do sistema de arquivos extfs
Suporta d_type true
Difusão de sobreposição nativa true

O limite de troca de memória é de 2,00 GB

Aqui está um trecho do cAdvisor:

Osprocessoskworkereksoftirqdmudamostatusconstantementede'D'para'R'para'S'

Asespecificaçõesdamáquinaestãocorretasparaessaconfiguração?
ComopossoobterousodaCPUparaníveis'normais'?

EDITAR

Depoisdeaumentaramemóriade4GBpara8GB,funcionoucomoesperadoporalgunsdias,mascomotempoousodaCPUaumentou:

    
por gpullen 02.02.2018 / 13:53

2 respostas

2

Você tem 4 ksoftirqds usando 39% da sua CPU. Isso é bastante alto e pode indicar vários problemas, como alta carga de E / S, problemas com gerenciamento de energia ou bugs de driver de kernel / dispositivo.

Tente atualizar para o kernel mais recente, certificando-se de ter a variante apropriada selecionada (por exemplo, há kernels do Ubuntu especificamente ajustados para AWS e Azure) e dê uma olhada em algumas das ferramentas de solução de problemas de desempenho de E / S do Linux. / p>

Um ótimo recurso na resolução de problemas de desempenho do Linux geralmente é o blog de Brendan Gregg

    
por 20.02.2018 / 00:08
2

Parece que o kernel está usando toneladas de threads kworker da CPU, o que geralmente é causado por um driver de kernel cheio de bugs.

Para depurar, acione um backtrace com echo l > /proc/sysrq-trigger , o que fará com que a saída seja gerada em dmesg . Execute-o algumas vezes para ver se é consistente. Baseado em este tópico Pode ser óbvio qual driver está causando a carga alta. Um pensamento é se você está executando isso no ESXi o driver da interface de rede e1000 é notoriamente buggy.

    
por 20.02.2018 / 16:44