Parece estúpido, mas a reinicialização ajudou e talvez nunca saibamos, o que causou os picos em primeiro lugar.
Obrigado pelas respostas, no entanto.
Nas últimas duas semanas, estamos tendo picos severos intermitentes no uso da CPU do sistema (mostrados como% sys), que duram talvez meio minuto, bloqueando a maioria dos processos, incluindo ssh.
Eu tenho tentado descobrir isso, mas no topo não mostra nada relevante (o uso do sistema para processos que ele mostra é insignificante), os picos são intermitentes e eu não consegui reproduzir o pico usando qualquer carga de trabalho para o aplicativo da web hosts do servidor web.
Se você tiver alguma idéia sobre como depurar o alto% sys e (às vezes)% si o uso da CPU, compartilhe-os.
Especificações do sistema (não sei se isso é relevante): Servidor dedicado, CentOS 6, Core i7 950, 4 a 8 GB de RAM consistente a qualquer momento, discos rígidos estão em RAID-1.
Informação adicional:
Adicionar 07.11.11: parece com o estado do sistema restaurado simples de reinicialização, e podemos nunca saber o que causou a perturbação em primeiro lugar.
Eu sei que este tópico é realmente antigo e eu sei que você já está ciente disso, % sys - > se o ciclo for gasto em% system, então, grande parte da execução é feita em código de nível inferior, isto é, pode ser um problema no lado do kernel. Se esse problema for reproduzível novamente, colete a saída de
echo t > / proc / sysrq-trigger
e anexe / var / log / messages junto com este tópico.
No centos 6.2 e 6.3, desative o suporte a páginas enormes:
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
Altas% si sugerem uma alta taxa de interrupção (si é o tempo gasto em manipuladores de softirq, AFAIK). Portanto, meu primeiro palpite é que a interface de rede do servidor está sendo martelada.
Existem muitos fatores que contribuem para o alto uso de% sys, como Logon, chamada de sistema, alternância de contexto (thread e procedure), E / S e até cópia de dados de sockets do modo kernel para o modo de usuário. Eu sugiro que você possa usar sar, vmstat e iostat para verificar isso. Ainda mais, seria bom descobrir qual processo causou o alto uso de% sys quando o pico. O gdb seria útil neste caso. Descubra o processo e use o gdb para anexar nele e você verá o que está acontecendo com este processo neste momento. Apenas uma coisa que você precisa notar é que esta operação requer informações de depuração embutidas no procedimento. .