Olhando para o gráfico, parece-me que os períodos de alta utilização da CPU ocorrem em horas inteiras ou meio, o que aponta para algo que passa pelo cron. Se você quiser começar a investigar por essa rota, é aí que eu começaria.
Dito isto, dado que as rajadas de alta utilização da CPU são razoavelmente longas (dez minutos no seu caso), você poderia simplesmente descarregar o estado do sistema através de um cron do seu próprio para analisar de manhã .
Sugiro usar o modo em lote de top
( -b
) com uma contagem de iteração de 1 ( -n 1
), para que você adicione algo como o seguinte a um novo arquivo em / etc / cron .d:
* * * * * root top -b -n 1 > /var/log/processes/$(date +%F_%R)
Lembre-se de criar um diretório / var / log / processes para isso.
De manhã, escolha um ou alguns desses arquivos de um período de alta utilização da CPU e observe-os mais de perto.
A ordem de classificação padrão parece ser a mais alta utilização atual da CPU, o que deve funcionar bem no seu caso. Caso contrário, você pode simplesmente importar o arquivo para um aplicativo de planilha (ele deve importar muito bem como dados de largura fixa) e classificar no campo% CPU. Uma vez que você sabe o nome do binário, você pode procurá-lo no disco (inclusive usando dpkg -S
para descobrir a que pacote ele pertence) ou alterar o acima com algo como pstree
para ter uma idéia do que levou para aquele binário em particular sendo invocado.
Isso, por sua vez, deve lhe dar uma boa idéia de quais programas reais (e não apenas processos) estão sobrecarregando a CPU, permitindo que você determine se é um problema, e se você acha que é um problema, então como desligá-lo.