Como posso diagnosticar e consertar a utilização frequente de 100% da CPU do kernel?

1

Eu tenho uma micro instância do Amazon EC2 executando um antigo kernel 2.6.16. Ele roda o postfix, o apache e o mysql. Durante cargas normais, a média de carga é de cerca de 0,05 e é executada dessa forma 95% do tempo. No entanto, algumas vezes por dia (ou mais), o uso da CPU aumentará para 100% e o sistema ficará praticamente inutilizável. Isso geralmente dura cerca de 5 minutos, depois a carga retorna ao normal.

Se eu conseguir dar uma olhada no htop enquanto isso acontece (não é fácil - a carga é tão severa), vejo que nenhuma tarefa em execução é responsável por qualquer uso significativo de cpu, levando-me a acreditar que tudo isso deve estar acontecendo na terra do kernel.

Como posso diagnosticar a causa dessa carga e, mais importante, corrigi-la?

    
por notlesh 19.04.2013 / 20:23

1 resposta

2

Qual é a porcentagem de "iowait" e "roubar" o tempo de CPU durante esses períodos?

Iowait denota a quantidade de tempo que a CPU está gastando aguardando a conclusão das solicitações de E / S e roubar porcentagem denota o tempo de CPU que seu kernel solicitou, mas foi negado pelo hipervisor.

As instâncias EC2 t1.micro são muito limitadas pela CPU e pelo IO. Eles podem estourar por curtos períodos de tempo, após o que estão sujeitos a um severo afogamento da CPU. Da próxima vez que isso acontecer, preste atenção a %wa e %st na saída de top . Minha aposta é que um ou ambos têm altos percentuais de tempo de CPU.

Para atenuar, você precisará encontrar a origem da carga da IO e / ou da CPU ou, como alternativa, redimensionar sua instância para um m1.small .

    
por 19.04.2013 / 20:40