Apache2 gettimeofday () mantém a CPU em 100%

2

Eu uso o Ubuntu 6.06.2 LTS com a versão do servidor: Apache / 2.0.55; construído em: 16 de agosto de 2010 18:25:39 e PHP 5.1.2 (cli) (construído em: 16 de setembro de 2010 20:32:18). Todos os meus 4 Núcleos estão constantemente em 100% e o sistema começa a acumular carga. Uma reinicialização do apache corrige o problema temporariamente. Fiz um strace para o pid dos processos do apache que mantêm a CPU ocupada. Eu recebo a seguinte mensagem continuamente:

gettimeofday({1285234145, 989639}, NULL) = 0

Você tem alguma idéia de onde esse problema vem?

Obrigado.

UPDATE : O problema veio de um erro de aplicativo que gerou um loop infinito. Obrigado a todos pela sua grande ajuda.

    
por pincoded 23.09.2010 / 11:33

2 respostas

3

Se o apache usar o threading mpm, use flag -f para strace

E use o sinalizador -c

#strace -fcp 1268
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
  -nan    0.000000           0         4         1 read
  -nan    0.000000           0         1           write
  -nan    0.000000           0         1           open
  -nan    0.000000           0         2           close
  -nan    0.000000           0        18           gettimeofday
  -nan    0.000000           0         1           munmap
  -nan    0.000000           0         1           writev
  -nan    0.000000           0         2           poll
  -nan    0.000000           0         1           mmap2
  -nan    0.000000           0         2           stat64
  -nan    0.000000           0         6           fcntl64
  -nan    0.000000           0        29        25 futex
  -nan    0.000000           0         1           accept
  -nan    0.000000           0         1           getsockname
  -nan    0.000000           0         1           shutdown
------ ----------- ----------- --------- --------- ----------------
100.00    0.000000                    71        26 total

gettimeofday chamada muito simples. O problema é outra coisa.

    
por 23.09.2010 / 12:04
0

Eu tive esse problema antes também, mas, tendo problemas lembrando o que era. Eu tenho um pensamento vago que pode ter sido algo com um módulo que o apache estava carregando. Talvez PHP, Zend Optimizer / Ion Cube.

Eu verificaria o Ion Cube e onde você está carregando ... faz a diferença na ordem em que ele é carregado e estou certo de que já vi 100% de problemas com a carga da CPU (mova-o para onde outras configurações de zend_extension são e comente a entrada apache.d / ioncube.conf).

Eu obviamente estou supondo que você esteja usando o IonCube ou o Zend Optimizer, mas, talvez tente desativá-los e iniciar o apache novamente para ver se o problema de carregamento da CPU ocorre 100%.

    
por 23.09.2010 / 13:32