Como usar o comando sar no Linux

Um terminal linux em uma tela de laptop.
fatmawati achmad zaenuri/Shutterstock.com

O sarcomando 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.

O comando sar

O sarcomando, ou System Activity Reporter, faz parte do sysstatpacote. 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 sarcomando permite interrogar o sistema e ver as estatísticas. Mas primeiro, você precisará instalar o sysstatpacote.

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 systemdpara habilitar e iniciar o daemon em segundo plano.

Para instalar sysstatno Ubuntu usamos o apt:

sudo apt instalar sysstat

Instalando o sysstat com o apt no Ubuntu

Para instalar sysstatno Fedora, digite:

sudo dnf instalar sysstat

Instalando syst com dnf no Fedora

E para instalar o sysstat no Manjaro, usamos o pacman:

sudo pacman -S sysstat

Instalando syst com pacman no Manjaro

Com sysstatinstalado, 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 systemdfamília de utilitários, para habilitar e iniciar daemons.

sudo systemctl habilitar sysstat

Habilitando o daemon sysstat

sudo systemctl start sysstat

iniciando o daemon sysstat

Para ver qual versão sarvocê está usando e ter certeza de que está respondendo, você pode usar a -Vopção (versão):

sar -V

Verificando a versão do sar

Estatísticas em tempo real com sar

Você pode usar sarpara 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 sarpara exibir vários instantâneos com um número específico de segundos entre eles.

Recomendado:  Como adicionar música ao seu perfil do Facebook

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 -uopçã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

Mostrando três conjuntos de estatísticas da CPU

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 ALLa 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 -Popçã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,4ou 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

Mostrando estatísticas de CPU para um único núcleo

Estatísticas de paginação de memória

A -Bopção (paging) faz sarcom 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

Mostrando estatísticas de paginação de memória

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 kswapdpor 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.
Recomendado:  Meus dispositivos Wi-Fi 6 funcionarão em uma rede Wi-Fi 5?

Taxas de transferência de E/S

Para ver as estatísticas de E/S e taxa de transferência, use a -bopção (observação, “b” minúsculo). Estamos pedindo três conjuntos de dados com quatro segundos entre eles.

sar -b 4 3

Mostrando estatísticas de transferência de E/S

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 -Aopção (todos) para ver um despejo completo de tudo o que sarpode 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 -eusuais . sarAs 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

Mostrando dados históricos de hoje mais cedo

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 -1opção significaria ontem, a -2opção significaria dois dias atrás e assim por diante.

Recomendado:  Análise da barra de vídeo AnkerWork B600: O rei das webcams

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

Mostrando informações históricas de ontem

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 -fopçã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 sarpasta 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

Mostrando dados históricos de um arquivo de dados específico

Informação é poder

E sarcertamente 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.