A quantidade de troca usada sugere que a troca pode ser a culpa. A saída do vmstat mostraria isso melhor durante o cenário do problema.
vmstat 1 30
No entanto, nem o top nem o vmstat são adequados para diagnosticar problemas após o fato.
Meu conselho geral seria instalar o pacote sysstat
. Isso permitirá que as métricas do sistema sejam salvas periodicamente e as informações poderão ser recuperadas posteriormente por sar
. O Sysstat pode ser configurado para detalhes substanciais, mas a configuração padrão fornecerá uma visão geral inicial sobre o uso da CPU, carga do sistema, paginação e troca.
yum install sysstat
sar
sar -q
sar -B
sar -W
Se isso revelar pouco uso, talvez seja necessário analisar mais profundamente. Pode estar ocorrendo algo que não é imediatamente visível por meio das métricas de desempenho comuns, além da fila de processos (média de carregamento). Uma possibilidade é que a CPU esteja preocupada com solicitações de interrupção excessivas, fazendo com que os processos fiquem em fila pelo menor tempo de processamento disponível para o sistema.
Se for esse o caso, você pode encontrar algumas dicas em / proc / interrupts
cat /proc/interrupts
Talvez os adaptadores de rede ou o cronômetro local mostrem um número anormalmente alto de interrupções?
Pode se familiarizar com perf
e aguardar a próxima ocorrência do problema. Comece a gravar assim que o problema começar ou automatize o processo com um script que é acionado em média de alta carga.
perf record -a
perf report
O Perf fornece uma visão incrivelmente detalhada das operações no sistema, mas também coleta muitos dados e gera uma sobrecarga significativa, tornando impraticável a execução contínua.
No caso do CentOS 6.3, há uma chance de que médias misteriosas de alta carga sejam eliminadas com uma atualização para o CentOS 6.4, que resolve um bug na fonte do kernel que se relaciona ao cronômetro local. No entanto, o problema também pode ser causado por qualquer driver que possa ter sido fornecido pelo fornecedor do hardware.