Executando top, htop, tempo de atividade etc., podemos ver a média da carga como três valores, indicando a carga média dos últimos 1/5/15 minutos (na verdade não , mas essa não é a questão aqui).
Às vezes, observarei que tenho uma média de carga bastante 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 de CPU nos últimos 1/5/15 minutos (ou algum outro período semelhante)?
Estou ciente de que a média de carga também pode ser causada por processos aguardando E / S, mas estou principalmente interessado em ver os aplicativos que consomem mais CPU (apesar de poder ver E / S histórica também seria bom).
Até onde eu sei, executar htop e classificar por tempo não pode me ajudar aqui, pois se o computador estiver ligado por um tempo, os valores mais altos não terão necessariamente nada a ver com o passado recente.
Respostas:
Eu sugiro usar
atop
. É um daemon que reúne todas as informações 'top' a cada 10 minutos por padrão e você pode voltar no tempo visualizando esses instantâneos 'top'. Ajuste a configuração de intervalo padrão de acordo com suas necessidades (consome mais espaço em disco, se definido com mais frequência).Ainda ontem, respondi a uma pergunta semelhante , na qual incluí um breve tutorial.
fonte
atop
informações podem ajudar a adivinhar como os valores de carga são compostos (resumidos)? em outras palavras, o que esse algoritmo (dehtop
) faz para compor a média de carga e por que não é exibido por processo? (Acho que isso pode merecer um novo segmento?)A julgar pela indicação de htop, eu diria que você está executando o Linux.
Você pode dar uma olhada em um utilitário chamado sar , que é frequentemente usado no Solaris, mas raramente o vi em uso no Linux. Ele é capaz de registrar a atividade do sistema por um dia e depois relatá-la em vários intervalos. Você também pode olhar para o Orca, mas as estatísticas de dados ainda são por sistema.
Se você precisar de dados por processo, obviamente haverá produtos pagos como o TeamQuest .
fonte
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 diferentes recursos.
Por outro lado, toda instalação do Linux vem com o utilitário sar, que aborda o assunto que você está falando. Não vou entrar em detalhes de como você coleta dados e como extrai esses dados para relatórios, pois as necessidades de cada servidor e organização são diferentes.
Efetue login no servidor e comece a ler a página de
sar
comando do manual . Em seguida, faça uma pesquisa no google sobre como usar o sar de maneira eficaz. E em pouco tempo você poderá configurar seu utilitário de coleta de dados. Quando você encontra um problema, basta pesquisar nos logs sar pelo período especificado e descobrir qual recurso foi utilizado mais alto do que o normal, etc.É uma ferramenta inestimável para convencer a gerência a investir algum dinheiro na compra / atualização de hardware, se você estiver continuamente utilizando 75% ou mais da utilização e não há outra maneira de provar isso a eles. Existem até macros do Excel para gerar relatórios gráficos (lidos como Management-speak) a partir de dados brutos do sar, se não me engano.
fonte