Alta utilização da CPU do MySQL, mas sem consulta pesada

1

Quando executo o comando "top" no meu Linux, ele mostra que o MySQL está usando 400% -500% do uso da CPU. Mas quando eu executo o comando "watch mysqladmin pr" para ver uma lista de consultas sendo executadas pelo MySQL, ele mostra apenas 2, 3 consultas e isso também leva apenas 2, 3 segundos. O comando "top" mostra o MySQL constantemente flutuando o uso da CPU como 130%, 200%, 340%, 230%, 400%, 440%, 635%, 335% e.t.c. mas o comando "watch mysqladmin pr" não está mostrando as consultas que estão ocupando o uso da CPU. Como faço para verificar porque o MySQL está usando muita CPU?

    
por Ali 07.02.2011 / 09:40

1 resposta

1

Duas coisas vêm à mente aqui:

Observação 1

Quando o MySQL causa uma CPU constantemente flutuante, eu primeiro verifico que tipo de instalação do MySQL foi executada. Os RPMs do MySQL geralmente contêm binários que foram otimizados para plataformas específicas. Por outro lado, os binários do MySQL que foram compilados a partir da fonte tendem a não ser enxutos e mesquinhos. Esses binários podem ser inchados e não otimizados em tempo de compilação para aproveitar a memória.

Observação 2

Se o InnoDB Buffer Pool (innodb_buffer_pool_size) ou o MyISAM Key Cache (key_buffer_size) não estiverem configurados ou configurados excessivamente, você poderá gastar tempo limpando caches sem a presença de novas consultas.

    
por 04.04.2011 / 19:12