%20das%20opera%C3%A7%C3%B5es%20de%20grava%C3%A7%C3%A3o%20em%20disco%20no%20Linux%20(RHEL6.1)%3F.png)
Eu tenho uma máquina virtual com um aplicativo baseado em php (no Apache). Ao observar a atividade do disco, há uma gravação constante de 170 kbps quando o Apache está em execução.
Quando aplicamos carga, o desempenho do servidor é limitado pela CPU, mas isso parece estar diretamente relacionado aos saltos de E/S de gravação em disco de 20 a 30x. O gráfico de uso da CPU reflete o gráfico de acesso ao disco de gravação.
Alguma ideia?
Responder1
Duas recomendações:
iotopé um programa útil que mostra o uso de E/S em tempo real em um formato como o top
comando. Isso deve ajudá-lo a identificar o script/binário que está realizando toda a E/S. Acho que isso já pode estar instalado em kernels mais recentes, mas o yum pode fornecê-lo no RHEL se você não o encontrar.
lsof
também é útil na solução de problemas de E/S; ele lista todos os arquivos abertos.
ATUALIZAR
Se houver atividade de disco "constante", iotop
você deverá informar quais processos são os culpados. Em relação ao histórico de transações de E/S: não acredito que o histórico de E/S esteja registrado em qualquer lugar na maioria das distribuições Linux, mas você pode adicionar um cron job.
Como root, abra o crontab crontab -e
e adicione estas duas linhas:
* * * * * /bin/date >> /var/log/iotop; /usr/local/bin/iotop -bot --iter=3 -q >> /var/log/iotop
* * * * * /bin/date >> /var/log/lsof; /usr/bin/lsof -b -w >> /var/log/lsof
Isso despeja iotop
e lsof
gera um log a cada minuto. Adicione um script logrotate para cada um para evitar que os arquivos ocupem todo o seu espaço, por exemplo:
someuser@myhost:~> cat /etc/logrotate.d/lsof
/var/log/lsof {
rotate 3
weekly
compress
missingok
notifempty
}
Responder2
Parece que uma tarefa em segundo plano não relacionada estava excluindo o conteúdo do diretório /tmp onde o php estava sendo pré-compilado. Como resultado, o processo de pré-compilação do php foi iniciado novamente, resultando em atividade constante do disco.