Algum utilitário para encontrar fonte de carga / carga média do sistema durante um certo período?

12

Ao executar top, htop, uptime, etc., podemos ver a média de carga como três valores indicando a carga média dos últimos 1/5/15 minutos ( bem, não realmente , mas isso não é o pergunta aqui).

Às vezes, noto que tenho uma média de carga razoavelmente alta nos últimos 15 minutos, mas a carga atual é muito baixa. Existe um utilitário / programa que pode listar os processos (mesmo que eles não existam mais) que consumiram mais tempo da CPU nos últimos 1/5/15 minutos (ou algum outro período similar)?

Estou ciente de que a média de carga também pode ser causada por processos aguardando E / S, mas estou mais interessado em ver os aplicativos que mais exigem CPU (apesar de poder ver E / S histórica também seria bom).

Tanto quanto eu sei correr htop e triagem pelo tempo não pode me ajudar aqui, pois se o computador tem sido por um tempo os valores de topo não necessariamente tem nada a ver com o passado recente.

    
por Quantumboredom 05.12.2012 / 20:11

3 respostas

11

Sugiro usar atop . É um daemon que reúne todas as informações de 'top' a cada 10 minutos por padrão e você pode voltar no tempo visualizando esses snapshots 'top'. Ajuste a configuração do intervalo padrão às suas necessidades (consome mais espaço em disco se for definido com mais freqüência).

Ainda ontem, respondi a uma pergunta semelhante , na qual incluí um breve tutorial.

    
por 05.12.2012 / 23:19
7

A julgar pela indicação de htop eu diria que você está rodando Linux.

Você pode dar uma olhada em um utilitário chamado sar , que é frequentemente usado no Solaris, mas eu raramente vi em uso no Linux. É capaz de registrar a atividade do sistema por um dia e depois relatá-la em vários intervalos. Você também pode ver Orca , mas as estatísticas de dados ainda são por sistema.

Se você precisar de dados por processo, obviamente existem produtos pagos como TeamQuest .

    
por 05.12.2012 / 22:31
4

A menos que você configure uma ferramenta de coleta de dados, a resposta é não, não existe esse utilitário interno, que registrará a utilização de recursos diferentes.

Por outro lado, toda instalação do Linux vem com o utilitário sar, que aborda o assunto do qual você está falando. Não vou entrar em detalhes sobre como você coleta dados e como extrai esses dados para relatórios, já que as necessidades de todos os servidores e de todas as organizações são diferentes.

Faça login no seu servidor e comece a ler a página man do comando sar . Em seguida, faça uma pesquisa no google sobre como usar sar efetivamente. E em pouco tempo você poderá configurar seu utilitário de coleta de dados. Quando você encontrar um problema, basta voltar aos logs do sar pelo período de tempo especificado e descobrir qual recurso foi utilizado mais do que o normal, etc.

É uma ferramenta inestimável para convencer a administração a investir algum dinheiro para comprar / atualizar o hardware, se você estiver continuamente gastando 75% ou mais, e nenhuma outra maneira de provar isso a eles. Existem até mesmo macros do excel para fazer relatórios gráficos (leia como falas de gerenciamento) a partir de dados brutos do sar, se não me engano.

    
por 05.12.2012 / 22:29

Tags