Como usar o comando sar no Linux
Publicados: 2022-06-16 O comando sar
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.
RELACIONADO: Como visualizar estatísticas de desempenho do sistema em seu Chromebook
O comando sar
O comando sar
, ou System Activity Reporter, faz parte do pacote sysstat
. 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 comando sar
permite interrogar o sistema e ver as estatísticas. Mas primeiro, você precisará instalar o pacote sysstat
.
Instalando o pacote sysstat
A instalação sysstat
é muito simples. Usamos o gerenciador de pacotes do seu sistema Linux para instalá-lo e, em seguida, usamos o 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 ele possa ser executado como um daemon — um processo em segundo plano — toda vez que você inicializar seu computador, e precisamos iniciá-lo agora para que possamos usá-lo imediatamente. Usamos systemctl
, parte da família de utilitários systemd
, para habilitar e iniciar daemons.
sudo systemctl habilitar sysstat
sudo systemctl start sysstat
Para ver qual versão do sar
você está usando e ter certeza de que está respondendo, você pode usar a opção -V
(versão):
sar -V
Estatísticas em tempo real com sar
Você pode usar o 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 ponto no tempo - e às vezes uma tendência é mais útil, você pode pedir ao sar
para exibir vários instantâneos com um número especificado 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 opção -u
(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
para 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, essa é a porcentagem de tempo em 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 opção -P
(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 opção -B
(paginação) faz com que o sar
exiba 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
kswapd
do sistema de gerenciamento de memória 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 opção -b
(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 opção -A
(all) para ver um despejo completo de tudo que o sar
pode lançar em você.
Confira a página man do sar para a lista completa.
RELACIONADO: O que são velocidades de leitura/gravação e por que elas são importantes?
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 -e
(fim) time a qualquer um dos comandos us usuais do 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 opção -1
significaria ontem, a opção -2
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 em que você deseja relatar é usar o nome do arquivo de dados desse dia na linha de comando. Fazemos isso com a opção -f
(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 pasta de log do sar
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 o 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.
RELACIONADO: Sistema lento? Como ver se o Linux é vinculado à memória, CPU ou IO