100% da carga da CPU no Ubuntu 10.04.3 LTS 64bit

6

Eu tentei corrigir esse problema por dois dias sem sucesso. O servidor é um servidor de banco de dados MySQL.

Hardware: DELL Poweredge 1950, 2x Intel Xeon Quad Core E5345 a 2,33 GHz, 16 Gb mem, 2 x 146 Gb SAS (software RAID1)

Software: Ubuntu 10.04.3 LTS, MySQL 5.1.41

Problema: enquanto o MySQL não é usado e roda sem banco de dados, tudo parece bem. Assim que eu instalar um banco de dados, ele tem o motivo para trazer todos os 8 núcleos em 100% com baixo consumo de memória . Então, você pode imaginar que a média de carga é alta (eu vi 212 load average pela primeira vez). O servidor não pára de responder, mas você pode ver que ele está lento ao navegar pelo projeto instalado.

Informações adicionais:

  • O banco de dados usado não ultrapassa 24 MB e foi movido de um servidor com menos recursos e bancos de dados muito maiores. Então não é o banco de dados / projeto.
  • my.cnf não é uma razão também, já que usei tanto o padrão como o que eu uso na mesma distribuição em outro servidor. O que é interessante é que o mysql não fecha nenhum processo e roda até o limite de max_connections.
  • Os logs estão silenciosos. Nada lá.
  • Troquei para esta versão do Ubuntu depois que suspeitei de alguns problemas no novo servidor Ubuntu 11.10. Este funcionou bem por uma hora depois que eu fiz uma atualização do kernel para a versão 3.0.1 (também estava usando a memória)

Eu testei a velocidade do disco e parece bem.

Mais alguma saída no servidor em execução:

dstat -cndymlp -N total -D total 3:

comandohtop:

Alguém encontrou o mesmo problema? Qualquer correção que você consiga pensar?

    
por deadtired 02.11.2011 / 11:51

2 respostas

1

A parte interessante (além de o MySQL ser tão ocupado ...) é que a maioria do tempo de CPU parece ir para system , não user time.

Você pode ativar esse mesmo tipo de comportamento com algum outro programa que não o MySQL? Tente, por exemplo, stress e consuma a CPU com stress -c 128 . Para mim, isso gerou 128 threads consumindo 93% de usuário, 7% de CPU do sistema (de acordo com o topo). Isso no Fedora 15, de qualquer maneira. Se até mesmo o estresse fizer com que seu servidor consuma principalmente a hora do sistema, algo está muito errado.

Às vezes, coisas inesperadas, como o firmware desatualizado do servidor, podem causar todos os tipos de efeitos colaterais. Você atualizou o firmware do seu servidor? Também novos recursos do kernel, como dynamic ticks , podem tornar as coisas mais lentas sob certas condições. Você pode tentar desativá-los passando nohz=off como parâmetro de inicialização para o GRUB.

    
por 02.11.2011 / 14:13
0

Tente matar mysql para ver o que acontece. Você precisará identificar o que consumiu tanto CPU.

Se a utilização da CPU cair, forneça mais informações sobre sua configuração do MySQL e sobre a natureza dos negócios.

Desculpe não leu com cuidado, eu estava prestando muita atenção na foto.

Que tal tentar usar uma nova versão ou reinstalar o MySQL? Dez anos de experiência em sysadmin me dizem que isso parece impossível.

    
por 22.05.2012 / 08:08