14 Ferramentas de linha de comando para verificar o uso da CPU no Linux

O desempenho da CPU é um aspecto da medição do desempenho de um sistema. Monitorar o desempenho da CPU é essencial para depurar processos dentro de qualquer sistema, gerenciar recursos do sistema, tomar decisões do sistema e avaliar e examinar os sistemas em tempo real.

Existem várias ferramentas disponíveis para monitorar e exibir Desempenho da CPU. Os sistemas operacionais têm chamadas de sistema integradas das quais essas ferramentas dependem para extrair as leituras de desempenho.

Neste tutorial, exploraremos a melhor ferramenta de monitoramento de uso da CPU e seus usos em qualquer distribuição baseada em Linux.

1) Top

O comando top exibe a visualização em tempo real dos dados relacionados ao desempenho de todos os processos em execução em um sistema. Por padrão, o comando top atualiza os dados a cada 5 segundos. Digite “top” no terminal para visualizar os dados estatísticos relacionados ao desempenho de um sistema.

 # top

Para modificar a saída do comando top, pressione:

“P” para classificar pelo uso da CPU.

“I” para remover os processos ociosos da tela e para reverter pressione “I” novamente.

“M” para classificar os dados pelo uso de memória.

“S” para classificar por quanto tempo os processos estão em execução digite.

“P” para classificar pelo uso da CPU.

“U” para visualizar processos pertencentes a um usuário específico.

“K” para encerrar processos.

“R” para renear processos.

2) Iostat

O comando iostat lista a utilização da CPU, a utilização do dispositivo e a utilização do sistema de arquivos de rede. Este utilitário exibe a utilização média da CPU do sistema desde a última reinicialização. Executar o seguinte comando sem opções exibe todos os três relatórios.

 # iostat

Para listar o relatório individual, use as opções -c, -d e -h para utilização da CPU , utilização de dispositivo e utilização do sistema de arquivos de rede. O comando a seguir dividirá a utilização da CPU em processos do usuário, processos do sistema, espera de E / S e tempo ocioso.

 # iostat -c

O comando a seguir exibirá estatísticas estendidas ( -x), o número de vezes (-t) que cada relatório deve ser exibido para utilização da CPU (-c).

 # iostat -xtc 5 2

3) Vmstat

O comando vmstat exibirá estatísticas sobre os processos do sistema, memória, troca, E / S e o desempenho da CPU. Para exibir estatísticas, os dados são coletados desde a última vez em que o comando foi executado até o presente. No caso de o comando nunca ter sido executado, os dados serão da última reinicialização até a hora atual.

Em vários sistemas de CPU, o vmstat calcula a média do número de CPUs na saída. O comando vmstat atualiza sua saída como o comando top.

O comando a seguir atualizará seu relatório a cada 5 segundos até que haja uma interrupção.

 # vmstat 5

O seguinte comando exibirá os dados que serão atualizados a cada 5 segundos e os valores serão medidos novamente e relatados a cada 1 segundo.

 # vmstat 1 5

O a primeira linha imprime os valores médios desde a última vez que o computador foi reinicializado. O restante das linhas exibirá seus respectivos valores atuais. Um usuário normal pode executar o comando vmstat.

4) Mpstat

Mpstat faz parte do pacote sysstat no Linux. O comando mpstat grava na saída padrão sobre as atividades de cada processador disponível, sendo o processador 0 o primeiro. Se nenhuma atividade foi selecionada, o relatório padrão é o relatório de utilização da CPU.

mpstat sem nenhuma opção exibirá as atividades médias globais de todas as CPUs

 # mpstat

mpstat com a opção -p e “ALL” irá listar estatísticas sobre todas as CPUs, uma por uma, começando em 0.

 # mpstat -P ALL

O seguinte comando irá liste o uso médio da CPU por 4 vezes, cada após 2 segundos.

 # mpstat -P ALL 2 4

5) Sar

O sar é uma ferramenta de monitoramento de desempenho para coleta, visualização e registro de dados de desempenho e pode listar o que um sistema está fazendo o tempo todo. O comando Sar pode gerar relatórios e enviá-los por e-mail ao administrador do sistema. As estatísticas relatadas pelo sar incluem taxas de transferência de E / S, atividade de paginação, atividades relacionadas a processos, interrupções, atividade de rede, utilização de memória e espaço de troca, utilização de CPU, atividades de kernel e estatísticas TTY, entre outras. Execute o sar sem qualquer opção e verifique a saída. As estatísticas da lista de saída padrão para cada 10 minutos e uma média final.

 # sar

Exibir estatísticas da CPU 3 vezes com intervalo de 2 segundos.

 # sar 2 3

O comando a seguir exibe o uso cumulativo da CPU em tempo real de toda a CPU a cada 2 segundos em um total de 3 vezes.

 # sar -u 2 3

A opção “-P ALL” exibe estatísticas para TODOS os Cores individuais. Se o seu sistema tiver 4 núcleos, a “coluna CPU” conterá o número 0, 1, 2, 3 indicando os números de núcleo da CPU correspondentes.A opção “2 3” exibe as estatísticas a cada 2 segundos por 3 vezes.

 # sar -P ALL 2 3

A opção “-P 2” exibe as estatísticas do terceiro núcleo a cada 2 segundos por 3 vezes.

 # sar -P 2 2 3

6) CoreFreq

CoreFreq é um software de monitoramento de desempenho de CPU projetado para processadores de 64 bits com arquiteturas Intel Atom, Core2, Nehalem, SandyBridge e superior, Família AMD. O CoreFreq fornece uma estrutura para recuperar dados da CPU com um alto grau de precisão. O módulo do kernel, daemon e interface de linha de comando (CLI) do espaço do usuário são as três partes do Corefreq. O módulo do kernel terá acesso total ao host. É sua responsabilidade coletar os dados de baixo nível. O daemon userland coleta os dados. Você deve ser usuário root para executar o daemon. Finalmente, o CoreFreq vem com uma interface de terminal para relatar dados em um formato legível por humanos. Essa ferramenta CLI é um processo comum e pode ser usada pelo usuário final.

Pré-requisito

i) CoreFreq usa o contador de baixo nível e, portanto, você deve primeiro desabilitar o watchdog do NMI através de / etc / default / grub. Edite / etc / default / grub e adicione o argumento de linha de comando do kernel “nmi_watchdog = 0” e, posteriormente, execute update-grub.

 # vi /etc/default/grub
 .................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
 # update-grub && reboot

ii) Sem virtualização. VMs não fornecem acesso aos registros que o driver CoreFreq emprega.

Instale o CoreFreq

Instale o módulo do kernel com insmod

 # sudo insmod corefreqk.ko

Liste o módulo CoreFreq com lsmod

 # lsmod | grep corefreq corefreqk 49152 0

A saída do comando dmesg mostra que o CoreFreq foi reconhecido pelo processador.

 # sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU 

Inicie o daemon CoreFreq

 # sudo ./corefreqd -i &

Agora inicie o cliente corefreq como um usuário.

 # ./corefreq-cli

7) Htop

Htop é um visualizador de processos e um aplicativo em modo texto para monitoramento do sistema em tempo real como o topo. lista dos processos que estão em execução e é fácil de usar. É baseado em ncurses para visualizar os processos em um ambiente semelhante a uma interface gráfica do usuário em execução no terminal. Htop exibe o uso por CPU junto com a memória e o uso de troca com um gráfico de texto significativo impresso na parte superior. O Htop é muito conveniente de usar e fácil de entender. Depois de começar a usar o HTOP, Você pode não retornar ao TOP.

Instale o htop usando o seguinte comando no terminal

 # sudo apt-get install htop

Execute o htop usando o seguinte comando.

 # htop

8) Nmon

nmon (Nigel’s Monitor de desempenho para Linux & AIX) foi desenvolvido pelo funcionário da IBM Nigel Griffiths. Esta ferramenta é usada para monitorar os recursos do sistema, como CPU, memória, rede, discos, sistemas de arquivos, NFS, processos principais no terminal. NMON suporta várias arquiteturas como POWER, x86, x86_64, Mainframe e ARM (Raspberry Pi). Esta ferramenta ajuda o administrador do sistema a ajustar as informações de desempenho de benchmark para solucionar problemas de desempenho da CPU / sistema quando houver alguns problemas. Para monitoramento em tempo real, ele usa a biblioteca curses para baixo impacto na CPU e exibe estatísticas na tela e atualiza a cada dois segundos. nmon consome menos memória da CPU em comparação com outras ferramentas, pois usa a biblioteca curses.

Instalação

 # sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)

Os usuários do CentOS precisam instalar / habilitar Repositório EPEL para instalar o nmon.

Digite nmon no terminal e pressione enter, o nmon exibirá uma tela de boas-vindas com todas as opções para usá-lo posteriormente. Se você deseja exibir a utilização da CPU, pressione ce para ocultar as estatísticas dos widgets de utilização da CPU, pressione “c” novamente.

9) Glances

O Glances é uma ferramenta de monitoramento de plataforma cruzada baseada em curses escrita em Python que usa a biblioteca psutil para buscar dados do sistema. Monitor de relance CPU, carga média, memória, interfaces de rede, disco I / O, processos e utilização de espaços do sistema de arquivos.

Instale relances em seu sistema com o seguinte comando.

No Ubuntu :

 # sudo apt-get install glances

Em Centos:

 # sudo yum install glances

Você pode executar Glances em 3 modos-

1. Autônomo

Se você deseja monitorar sua máquina local (Autônomo), simplesmente execute-

 # glances

2. Cliente / Servidor

Se você deseja monitorar uma máquina remotamente, execute o seguinte no servidor.

 # glances -s

e a partir do cliente , execute o seguinte comando.

 # glances -c @server

onde @server é o endereço IP ou nome do host do servidor.

3. Servidor da Web

Execute os olhares no modo do servidor da web executando o seguinte comando no terminal.

 # glances -w Glances web server started on http://0.0.0.0:61208/

Para alterar a taxa de atualização do página, basta adicionar o período em segundos no final da URL. Por exemplo, para atualizar a página a cada 30 segundos, anexe 10 à URL do servidor de relances a partir do navegador.

 http://@server:61208/30

10) Cpustat

Cpustat é como uma espécie de top sofisticado que faz coisas diferentes. A maioria das ferramentas de desempenho usa a CPU em média em alguns segundos ou até um minuto. Isso resulta em uma fantasia de excesso de capacidade por causa de um aumento abrupto no uso de recursos que é combinado com períodos menos ocupados. Por outro lado, cpustat pega amostras de maior frequência de cada processo e resume essas amostras em uma frequência mais baixa. Por exemplo, ele pode medir um processo a cada 200 ms e resumir as amostras a cada 5 segundos, incluindo os valores mínimo / médio / máximo para algumas métricas.

Instalar Cpustat

Cpustat está escrito na linguagem Go. Portanto, você precisa do GO em seu sistema. Se não estiver lá, instale-o usando os seguintes comandos no terminal.

No Ubuntu

 # sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go

No CentOS

 # yum install golang

Assim que o Golang estiver instalado em seu sistema, crie um diretório para Cpustat e disponibilize esse diretório para o GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Instale o Cpustat e verifique se os diretórios foram copiados para a pasta cpustat.

 # go get github.com/uber-common/cpustat # cd cpustat && ls

Adicione a pasta bin à variável de ambiente PATH. Você também pode adicionar a seguinte linha a ~ / .bashrc ou / etc / profile dependendo do que você está usando.

 # export PATH=$PATH:/root/cpustat/bin

Existem duas maneiras de exibir isso dados. Uma lista de texto puro do intervalo de resumo ou um painel de rolagem colorido de cada amostra. Para exibir dados no modo de terminal extravagante, execute o seguinte comando no terminal.

 # cpustat -t

Para executar no modo de texto puro, use o seguinte comando. No modo de texto, poucas métricas de resumo de todo o sistema vêm de / proc / stat.

 # cpustat

O comando a seguir pegará uma amostra de todos os processos a cada 500 ms e resuma esses dados após 10 amostras, que são a cada 5 segundos.

 # cpustat -s 500 -s 10 -n 20

Use o seguinte comando para medir os processos que pertencem ao usuário root ou ao usuário ubuntu. As estatísticas gerais do sistema ainda serão medidas.

 # cpustat -u root, ubuntu

Meça apenas os processos de “apache” ou “mysql”. A opção -p de cpustat obtém uma lista de ids de processo retornados por pgrep. pgrep é usado para obter os ids do processo (opção -d).

 # cpustat -p $(pgrep -d, apache2\|mysqld)

Use o seguinte comando para escrever o perfil de memória em um arquivo.

 # cpustat -memprofile test.txt

11) perf

O Perf pode medir contadores de desempenho da CPU, tracepoints, kprobes e uprobes incluídos no kernel do Linux, em tools / perf. O perf começou como uma ferramenta para usar o subsistema de contadores de desempenho no Linux e teve vários aprimoramentos para adicionar recursos de rastreamento. As ferramentas perf são integradas ao kernel Linux desde a versão 2.6 e são baseadas no subsistema de eventos perf. O perf profiler usa contadores de hardware para criar o perfil do aplicativo. O resultado desse profiler é explícito e rápido. O utilitário perf pode ser encontrado no pacote linux-tools.

Measure entire system for 10 seconds using perf.
 # perf stat -a -- sleep 10

Se você estiver interessado em descobrir o desempenho da CPU para um” comando “específico como cp. O seguinte comando perf criará o perfil de cp enquanto copia todo o diretório Documentos para o novo local (Documentos).

 # perf stat cp -r Documents/ Docs

Se você quiser encontrar estatísticas de contador de CPU para um PID especificado e use o seguinte comando até que CTRL + C seja pressionado.

 # perf stat -p 2087

Encontre as estatísticas básicas da CPU, em todo o sistema, por 10 segundos usando o seguinte desempenho comando. Você também pode omitir qualquer uma das opções na opção -e para ser mais específico.

 # perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10

Colete exemplos de instruções do usuário na CPU por 5 segundos e depois use o relatório de desempenho para visualizar o relatório.

 # perf record -e cycles:u -a -- sleep 5 # perf report

Colete amostras de rastreamentos de pilha de CPU, uma vez a cada 10.000 perdas de cache de dados de Nível 1, por 5 segundos e, em seguida, use o relatório de desempenho para ver o relatório.

 # perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report

12) tiptop

O Tiptop lê contadores de desempenho de hardware e exibe estatísticas sobre a execução de processos Linux, como IPC ou falhas de cache. Ele fornece uma visão dinâmica em tempo real das tarefas em execução no sistema. Tiptop é muito semelhante ao top, mas as informações exibidas vêm de contadores de hardware.

Ele tem dois modos de execução, modo ao vivo e modo em lote. Em ambos os modos, o sistema é consultado periodicamente para os valores dos contadores de hardware, e várias proporções são impressas para cada tarefa.

13) comando ps

Podemos usar o comando ps para encontrar uso da CPU para cada processo ou usuários. Dados alguns exemplos para entender

Para exibir a maior CPU & Utilização de memória por processos executados pelo root.

Execute o seguinte comando para exibir o uso da CPU para o comando específico:

Para mostrar os processos para todos os usuários e não anexados a um terminal em listagem de formato completo com uma classificação

14) Comando dstat

O comando dstat é uma ferramenta versátil para gerar estatísticas de recursos do sistema e também mostra estatísticas de CPU. Você precisa instalá-lo para usá-lo

No Centos

# yum install -y dstat

No Ubuntu

# apt-get install dstat

Para monitorar o programa que está usando mais CPU e consumindo mais memória.

# dstat -c --top-cpu -dn --top-mem

Conclusão

Neste tutorial, exploramos algumas ferramentas de monitoramento de desempenho da CPU junto com seus usos. Certifique-se de ler as páginas de manual de cada um deles, pois também documentam os usos em detalhes. Lembre-se de que usar essas ferramentas também exige uma fatia da CPU. Por exemplo, top consome 3% -4% da CPU, enquanto relances consomem de 15% a 20% da CPU. Portanto, ao usar qualquer um deles, você também precisa considerar esse aspecto. Resumindo, você será capaz de descobrir qual processo está consumindo mais tempo de CPU, se há memória livre suficiente, se os processos estão paralisados enquanto aguardam a visualização de E / S. disco ou acesso à rede para leitura / gravação completa e muito mais usando uma combinação de alguns deles.

Leia também:

  • Como monitorar o desempenho do Linux usando o comando Sar
  • Instale o htop 2.0.2 e use a linha de comando no Linux

Write a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *