Apache: alta carga de leitura do disco, sem solicitações

0

Em uma VM Ubuntu, o iotop mostra que alguns processos "apache2 -k start" estão produzindo um disco total read de carga constante entre 4 M / se 7 M / s, mesmo sem solicitações. sendo registrado.

lsof mostra-me cerca de 5000 ficheiros regulares utilizados pelo www-data. Como posso determinar o que está causando tanto disco IO enquanto não deveria haver nenhum?

    
por user3173842 25.07.2017 / 21:52

1 resposta

1

Indicações de alta E / S provavelmente exigirão uma ferramenta de rastreamento para se aprofundar nos detalhes do que essa E / S é; strace é uma maneira comum de fazer isso:

strace -e trace=file -ff -o output -y -p $some_httpd_pid_here
  • -e trace=file rastreia operações relacionadas a arquivos (há outros especificadores úteis, consulte o manual de instruções), embora não mostre read chamadas que podem ser necessárias para descobrir quais descritores de arquivos estão sendo lidos; para esse -e trace=open,read ou em vez disso, apenas rastreie tudo e, em seguida, faça um grep na saída ...
  • -ff segue os garfos, bom se o CGI ou algo assim estiver sendo gerado ou se, em vez disso, você estiver rastreando o processo httpd master à medida que ele é iniciado.
  • -o output interage com -ff e produz output ou output.* arquivos a serem inseridos mais tarde.
  • -y não é portável para versões anteriores de strace , mas economiza o trabalho de descobrir qual descritor de arquivo número 42 ou qualquer referência a.

( strace também pode ser terrivelmente lento; veja também no Linux sysdig ou SystemTap para obter alternativas para rastrear coisas ou depurar o que o kernel está fazendo ...)

    
por 26.07.2017 / 22:10