O sar
comando permite que você veja estatísticas de desempenho para diferentes elementos do seu computador Linux, tanto para dados históricos quanto em tempo real. Mostramos a você como usar esse ótimo recurso.
Índice
O comando sar
O sar
comando, ou System Activity Reporter, faz parte do sysstat
pacote. Ele captura um conjunto de informações estatísticas, como carga de CPU , paginação de memória, utilização de memória, uso de swap, E/S de rede e muito mais. Ele torna esses dados acessíveis a você em instantâneos em tempo real — mostrando o que está acontecendo em seu computador agora — e em relatórios históricos.
Ele é executado em segundo plano como um daemon, reunindo um conjunto de dados a cada dez minutos. Os dados do dia atual são gravados em um arquivo de texto. Ele é convertido em um arquivo binário à medida que a meia-noite passa. Os arquivos são substituídos a cada mês para que não consumam constantemente a capacidade do seu disco rígido.
O sar
comando permite interrogar o sistema e ver as estatísticas. Mas primeiro, você precisará instalar o sysstat
pacote.
Instalando o pacote sysstat
A instalação sysstat
é muito simples. Usamos o gerenciador de pacotes do seu sistema Linux para instalá-lo e depois usamos systemd
para habilitar e iniciar o daemon em segundo plano.
Para instalar sysstat
no Ubuntu usamos o apt:
sudo apt instalar sysstat
Para instalar sysstat
no Fedora, digite:
sudo dnf instalar sysstat
E para instalar o sysstat no Manjaro, usamos o pacman:
sudo pacman -S sysstat
Com sysstat
instalado, precisamos habilitá-lo para que possa ser executado como um daemon—um processo em segundo plano— cada vez que você inicializar seu computador, e precisamos iniciá-lo agora para que possamos usá-lo imediatamente. Usamos systemctl
, parte da systemd
família de utilitários, para habilitar e iniciar daemons.
sudo systemctl habilitar sysstat
sudo systemctl start sysstat
Para ver qual versão sar
você está usando e ter certeza de que está respondendo, você pode usar a -V
opção (versão):
sar -V
Estatísticas em tempo real com sar
Você pode usar sar
para ver o que está acontecendo dentro do seu computador agora. E porque um instantâneo é apenas isso – o estado do jogo em um determinado momento – e às vezes uma tendência é mais útil, você pode pedir sar
para exibir vários instantâneos com um número específico de segundos entre eles.
Estatísticas da CPU
Para ver três conjuntos de estatísticas de CPU com dois segundos entre eles, usaríamos este comando, que usa a -u
opção (CPU). Observe que o intervalo vem primeiro. Portanto, este comando diz “mostre as estatísticas da CPU em etapas de dois segundos, para três conjuntos de dados”.
sar -u 2 3
Esticar a janela do terminal faz com que a tabela se alinhe perfeitamente, facilitando a leitura.
O cabeçalho da primeira coluna é a hora em que o comando foi executado. Os valores na coluna são a hora em que cada conjunto de dados foi coletado. As outras colunas são:
- CPU : O número do núcleo da CPU ou
ALL
a média de todos os núcleos. - %User : A porcentagem de tempo gasto executando aplicativos no nível do usuário, “na área do usuário”.
- %Nice : A porcentagem de tempo gasto executando aplicativos no nível do usuário, com boa prioridade .
- %system : A porcentagem de tempo gasto executando processos no nível do sistema, no kernel.
- %iowait : A porcentagem de tempo em que a CPU estava ociosa com uma solicitação de E/S de disco pendente.
- %steal : Em uma máquina virtual , esta é a porcentagem de tempo que a CPU virtual ficou ociosa porque a CPU do host de hardware estava atendendo a uma máquina virtual diferente.
- %idle : a porcentagem de tempo em que a CPU estava ociosa sem nenhuma solicitação de E/S de disco pendente.
A linha final é a média das linhas anteriores.
Para ver as estatísticas de um núcleo específico, use a -P
opção (por processador). Isso é seguido pelo número de um núcleo de CPU ou uma lista ou intervalo de números de núcleo, como 0,1,4
ou 4-8
.
Este comando examina três conjuntos de dados com um segundo entre eles, para o núcleo 1. Lembre-se de que os núcleos são numerados a partir de zero.
sar -P 1 1 3
Estatísticas de paginação de memória
A -B
opção (paging) faz sar
com que sejam exibidas estatísticas relacionadas à paginação da memória para o disco rígido. Vamos pedir dois conjuntos de informações, com cinco segundos entre eles.
sar -B 5 2
As colunas contêm as seguintes informações.
- pgpgin/s : Número total de kilobytes que o sistema paginou (recuperou) do disco rígido por segundo.
- pgpgout/s : Número total de kilobytes que o sistema paginou para o disco rígido por segundo.
- falha/s : Número de falhas de página, menores e maiores, feitas pelo sistema por segundo.
- majflt/s : Número de falhas graves que o sistema fez por segundo, que exigiram o carregamento de uma página de memória do disco.
- pgfree/s : Número de páginas colocadas na lista livre pelo sistema por segundo.
- pgscank/s : Número de páginas digitalizadas pelo daemon do sistema de gerenciamento de memória
kswapd
por segundo. - pgscand/s : Número de páginas digitalizadas diretamente por segundo.
- pgsteal/s : Número de páginas que o sistema recuperou do cache por segundo.
- %vmeff : Calculado como
pgsteal
/pgscan
, é uma indicação da eficiência das recuperações de página.
Taxas de transferência de E/S
Para ver as estatísticas de E/S e taxa de transferência, use a -b
opção (observação, “b” minúsculo). Estamos pedindo três conjuntos de dados com quatro segundos entre eles.
sar -b 4 3
Isso é o que as colunas seguram.
- tps : número total de solicitações de transferência por segundo que foram feitas para dispositivos físicos. Observe que esta é uma contagem de solicitações . Eles podem não ter sido todos bem sucedidos.
- rtps : Número total de solicitações de leitura por segundo emitidas para dispositivos físicos.
- wtps : Número total de solicitações de gravação por segundo emitidas para dispositivos físicos.
- dtps : Número total de solicitações de descarte por segundo emitidas para dispositivos físicos.
- bread/s : quantidade total de dados lidos de dispositivos físicos. O valor é dado em blocos de 512 bytes, por segundo.
- bwrtn/s : quantidade total de dados gravados em dispositivos físicos em blocos por segundo.
- bdscd/s : Quantidade total de dados descartados em blocos por segundo.
Há muitas outras categorias de informações que você pode selecionar para revisar. Todos são usados da mesma maneira. Você também pode usar a -A
opção (todos) para ver um despejo completo de tudo o que sar
pode jogar em você.
Confira a página man do sar para obter a lista completa .
Estatísticas históricas com sar
Para revisar qualquer um dos dados históricos é simplesmente um caso de adicionar as opções -s
(início) e (fim) de tempo a qualquer um dos comandos -e
usuais . sar
As horas são expressas no relógio de 24 horas.
Para ver como estava a carga da CPU entre 06:30 e 07:15 de hoje , usaremos este comando.
sar -u -s 06:30:00 -e 07:15:00
Para ver como era a situação no dia anterior, use um número como um sinalizador de opção. O número indica em qual dia informar. A -1
opção significaria ontem, a -2
opção significaria dois dias atrás e assim por diante.
Vamos gerar um relatório entre 13:00 e 13:00, usando os dados de ontem.
sar -u -1 -s 13:00:00 -e 13:30:00
Outra maneira de especificar o dia que você deseja relatar é usar o nome do arquivo de dados desse dia na linha de comando. Fazemos isso com a -f
opção (nome do arquivo).
Os arquivos diários são chamados de “saXX” onde o XX é substituído pelo dia do mês. Eles são criados na pasta de log do seu computador Linux. A sar
pasta de log provavelmente é chamada de “/var/log/sa/” ou “/var/log/sysstat/.”
No Ubuntu é “/var/log/sysstat/” então o formato do nosso comando para ver o uso da CPU entre 14:00 e 14:30 para o dia 21 deste mês ficaria assim:
sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21
Informação é poder
E sar
certamente fornece informações suficientes para tomar decisões informadas sobre o desempenho do seu computador .
Se você está em uma função de suporte ou é o suporte técnico para seus amigos e familiares, poder revisar dados históricos é uma ótima maneira de começar a investigar um problema que foi relatado a você hoje, mas que realmente aconteceu ontem. Ou semana passada.