Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Monitorar recursos do sistema no Oracle Linux
Introdução
Neste tutorial, você trabalhará com o Oracle Linux vmstat, mpstat e top para monitorar o uso de recursos do sistema. O monitoramento do uso dos recursos do sistema é útil para detectar problemas que possam afetar negativamente o desempenho do sistema.
Histórico
O Oracle Linux fornece ferramentas para monitorar e analisar o uso de recursos do sistema, bem como ferramentas de rastreamento para diagnosticar problemas de desempenho em vários processos e threads relacionados.
Objetivos
- Explore o comando
vmstat - Explore o comando
mpstat - Explore o comando
top - Use
vmstatempstatetop - Examine a saída de comandos de
vmstat,mpstatetop
Do Que Você Precisa?
Um sistema cliente com o Oracle Linux 8 ou posterior instalado.
Observação: Ao usar o ambiente de laboratório gratuito, consulte Informações Básicas sobre o Oracle Linux Lab para obter instruções de conexão e outras instruções de uso.
Explorar e Usar Opções de Comando vmstat
vmstat mostra quanto memória virtual há e quanto é livre. O comando também mostra a atividade de paginação. Você pode observar page-ins e page-outs à medida que elas ocorrem no sistema.
Você pode considerar a maximização da área de exibição usando os controles Ocultar etapas e "Tela inteira" localizados na barra de tarefas, conforme mostrado nas imagens.

Veja o vídeo abaixo para obter uma visão geral sobre vmstat.
-
Execute o comando
vmstatsem nenhuma opção.vmstatO comando gera um único relatório. A saída é dividida em seis seções:
procs,memory,swap,io,systemecpu.-
As duas primeiras colunas fornecem informações sobre processos:
-
ré o número de processos que estão em estado de espera. Esses são processos ociosos e aguardando execução. -
bé o número de processos que estavam no modo de sono e foram interrompidos desde a última atualização.
-
-
As quatro colunas seguintes fornecem informações sobre memória:
-
swpdé a quantidade de memória virtual usada. -
freeé a quantidade de memória ociosa. -
buffé a quantidade de memória usada como buffers. -
cacheé a quantidade de memória usada como cache.
-
-
As duas colunas seguintes fornecem informações sobre permuta:
-
sié a quantidade de memória trocada do disco (por segundo). -
soé a quantidade de memória trocada para o disco (por segundo).Números diferentes de
siesoindicam que não há memória física suficiente, o que faz com que o kernel troque memória no disco.
-
-
As duas colunas seguintes reportam Entrada/Saída:
-
bié o número de blocos por segundo recebidos de um dispositivo de bloco. -
boé o número de blocos por segundo enviados para um dispositivo de bloco.
-
-
As duas colunas seguintes fornecem as seguintes informações do sistema:
-
iné o número de interrupções por segundo, incluindo o relógio. -
csé o número de alternâncias de contexto por segundo.
-
-
As cinco últimas colunas fornecem as porcentagens do tempo total da CPU:
-
usé a porcentagem de ciclos de CPU gastos em processos do usuário. -
syé a porcentagem de ciclos de CPU gastos em processos do sistema (kernel). -
idé o percentual de ciclos de CPU inativos. -
waé a porcentagem de ciclos de CPU gastos aguardando Entrada/Saída. -
sté o percentual de ciclos de CPU roubados de uma máquina virtual.
-
-
-
Execute o comando
vmstat 1(numérico, e não a letra minúsculal) para exibir um relatório contínuo para cada segundo.vmstat 1- Para encerrar, pressione Ctrl+C.
-
Execute o comando
vmstat 7 4para executar quatro relatórios com sete segundos de intervalo.vmstat 7 4A opção de contagem informa ao
vmstato número de relatórios a serem executados (4), e a opção de atraso (7) é o intervalo de tempo entre cada relatório. -
Execute o comando
vmstat -spara exibir uma tabela de vários contadores de eventos e estatísticas de memória.vmstat -s -
Execute o comando
vmstat -apara exibir a memória ativa e inativa.vmstat -aA opção
-aexibe a quantidade de memóriaactivee inativa (inact) na seçãomemoryda saída. -
Execute o comando
vmstat -fpara exibir o número de forks desde a última inicialização.vmstat -f -
Execute o comando
vmstat -tpara adicionar um timestamp à saída.vmstat -t -
Execute o comando
vmstat -dpara exibir estatísticas de uso do disco no sistema.vmstat -d -
Execute o comando
vmstat -p sda1para criar um relatório em uma partição de disco específica.vmstat -p sda1A saída mostra um resumo da partição, incluindo o número ou leituras e gravações.
Explorar e Usar Opções de Comando mpstat
O comando mpstat é usado para coletar e exibir estatísticas de desempenho de todas as CPUs lógicas no sistema. Quando uma CPU é ocupada por um processo, ela fica indisponível para processamento de outras solicitações. Esses outros processos devem esperar até que a CPU esteja livre.
Veja o vídeo abaixo para obter uma visão geral sobre mpstat.
-
Execute o comando
mpstatsem nenhuma opção.mpstatA primeira linha exibe a versão do kernel Linux, o nome do host, a data atual, a arquitetura e o número de CPUs em seu sistema.
A primeira coluna da próxima linha fornece um timestamp, com as colunas restantes definidas da seguinte forma:
-
CPUé o processador designado pelo número que começa em0ou pela palavra-chaveallindicando que as estatísticas são calculadas como médias entre todos os processadores. -
%useré o percentual de CPU usado durante a execução de aplicativos no nível do usuário. -
%niceé o percentual de CPU usado durante a execução no nível do usuário com boa prioridade. -
%sysé a porcentagem de CPU usada durante a execução no nível do sistema (kernel).O comando
mpstatnão inclui o tempo gasto no atendimento a interrupções de hardware e software. -
%iowaité a porcentagem de tempo em que as CPUs permaneceram ociosas enquanto o sistema tinha uma solicitação de E/S de disco pendente. -
%irqé a porcentagem de tempo gasto pelas CPUs com interrupções de hardware de serviço. -
%softé a porcentagem de tempo gasto pelas CPUs com interrupções de software de serviço. -
%stealé a porcentagem de tempo gasto em espera involuntária pela CPU virtual ou CPUs enquanto o hypervisor estava atendendo a outro processador virtual. -
%guesté a porcentagem de tempo gasta pelas CPUs para executar um processador virtual. -
%gniceé a porcentagem de tempo gasto pelas CPUs para executar um convidado especializado. -
%idleé a porcentagem de tempo em que a CPU foi (ou as CPUs estavam) ociosa e o sistema não tinha uma solicitação de Entrada/Saída de disco pendente.
-
-
Execute o comando
mpstat 2 5para exibir a atividade da CPU a cada dois segundos para um total de cinco relatórios sobre todas as CPUs.mpstat 2 5A saída imprime um total de cinco vezes uma linha de informações e também imprime uma média.
-
Execute o comando
mpstat -P ALLpara reportar o uso da CPU em cada CPU.mpstat -P ALLEssa saída imprime uma única linha de atividade para todas as CPUs e para cada CPU. Observação:
mpstattambém imprime a utilização média de CPU para o período especificado. -
Execute o comando
mpstat -P ALL 2 5para exibir a atividade da CPU a cada dois segundos nas CPUs.mpstat -P ALL 2 5Essa saída imprime estatísticas de utilização de CPU para cada CPU 5 vezes em um intervalo de 2 segundos. Observação: que
mpstattambém imprime a utilização média de CPU para o período especificado. -
Execute o comando
mpstat -Apara imprimir a utilização da CPU e interromper as estatísticas na mesma saída do comando.mpstat -A
Explore o Comando top
O comando top fornece uma visão contínua da atividade do processador em tempo real. top exibe uma lista dos processos ou tarefas mais intensivos de CPU no sistema e fornece uma interface interativa limitada para manipular processos.
Veja o vídeo abaixo para obter uma visão geral sobre top.
-
Execute o comando
topsem opções para uma view pontual da atividade da CPU.topPor padrão, a saída é atualizada a cada três segundos e dividida em duas seções principais.
A seção superior exibe informações gerais, como as médias de carga durante os últimos 1, 5 e 15 minutos, o número de tarefas em execução e em espera e o uso geral de CPU e memória.
-
Use o seguinte para ativar ou desativar a saída exibida na seção superior:
-
Digite a letra minúscula
l(Não numérico1) para alternar a carga média e o tempo de atividade entre ligado. -
Digite
mpara alternar e alternar o uso de memória. -
Digite
tpara alternar e alternar o uso de memória.
-
A seção inferior exibe uma lista classificada de processos, geralmente pelo uso da CPU, juntamente com seus números de ID de processo (PIDs) e o usuário que possui o processo. Além disso, as saídas exibem o tempo de execução e a memória que os processos usam.
A seguir, são descritas as colunas na seção inferior:
-
PIDé o ID de processo exclusivo da tarefa. -
USERé o nome de usuário efetivo do proprietário da tarefa. -
PRé a prioridade real da tarefa. -
NIé o bom valor da tarefa no espaço do usuário.Um valor negativo significa uma prioridade mais alta; e um valor positivo significa uma prioridade mais baixa. O valor zero significa que a prioridade de uma tarefa não afeta quando é executada.
-
VIRTé a quantidade total de memória virtual usada pela tarefa.Esse valor inclui todos os códigos, dados e bibliotecas compartilhadas, além de páginas que foram trocadas.
-
RESé a memória física não trocada ou o tamanho residente que uma tarefa está usando. -
SHRé a quantidade de memória compartilhada que a tarefa está usando.Essa memória pode ser potencialmente compartilhada com outros processos.
-
Sé o status da tarefa. Há cinco estados:-
DSono ininterrupto -
REm Execução -
SInativo -
TRastreado ou interrompido -
ZZumbi
-
-
%CPUé o compartilhamento da tarefa do tempo decorrido da CPU ou do uso da CPU desde a última atualização da tela, expresso como uma porcentagem do tempo total da CPU. -
%MEMé o compartilhamento usado atualmente pela tarefa da memória física disponível ou do uso da memória. -
TIME+é o tempo total de CPU que a tarefa usou desde o início. -
COMMANDé o nome da linha de comando ou do programa usado para iniciar uma tarefa.
-
-
Saia do
topinformando Crtl+C.
Comparar Saída de Comando de vmstat, mpstat e top
Para este exercício, você executa vários testes stress para emular cargas diferentes no sistema de laboratório e, em seguida, usa os comandos vmstat, mpstat e top para determinar o que eles reportam para os diferentes tipos de carga.
Mesmo que você execute os testes como processos em segundo plano, considere abrir janelas de terminal adicionais para suas comparações.
Cada janela adicional requer login na sua instância de laboratório usando ssh para oracle@<IP_ADDRESS_OF_COMPUTE_INSTANCE>. Onde <IP_ADDRESS_OF_COMPUTE_INSTANCE> é o endereço IP copiado da Console do Oracle Cloud.
- Após fazer log-in, use o comando
sudo -ipara alternar para o usuário raiz.
-
Instale a ferramenta
stress.-
Use o comando
dnf repolistpara verificar o status do repositóriool8_developer_EPEL.dnf repolist ol8_developer_EPEL-
Se o status for
enabled, continue instalando os pacotes de ferramentasstress; caso contrário, continue a "ativar" o repositório. -
Ative o repositório se o status for
disabledusando o comandodnf conifg-manager.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Execute o comando
dnf installpara instalar os pacotes de ferramentasstress.dnf install stress -y -
Execute o comando
stress --dry-runpara exibir um exemplo da sintaxe do comando. Reserve alguns minutos e revise as opções no exemplo, junto com as outras opções de comando listadas.stress --dry-run -
Execute os comandos
vmstat 4 4empstat 4 4para exibir uma linha de base da atividade do sistema. Especificamente, observe as porcentagens de CPU alocadas para processos de usuário e sistema (kernel). Essa coluna deve estar próxima de zero0. Observe também a quantidade de memória livre.vmstat 4 4 mpstat 4 4 -
Execute o comando
stress --cpupara emular um programa vinculado a computação e execute o comando em segundo plano. Esse comando gera oito processos vinculados a computação.stress --cpu 8 &-
Pressione return para retornar ao prompt.
-
Execute o comando
ps -efpara exibir os processosstressem execução. Passe a saída paragrep stress.ps -ef | grep stress
-
-
Execute o comando
vmstat 4 10e anote os valores reportados nas colunas associadas à utilização da CPU.vmstat 4 10Em alguns momentos, você deve ver as porcentagens na coluna
usrefletem a carga gerada porstress. -
Execute o comando
mpstat 4 10para avaliar a utilização de todas as CPUs.mpstat 4 10 -
Execute o comando
mpstat -P ALL 4 10para avaliar a utilização de cada CPU.mpstat -P ALL 4 10 -
Execute o comando
toppara examinar a utilização de CPU pelos processosstress.topApós alguns minutos, observe que os processos
stressestão em execução com a prioridade mais alta. Saia dotopinformando um Ctrl+C. -
Execute o comando
pkillpara encerrar os processosstress.pkill stress -
Execute novamente os comandos
vmstat 4 4empstat 4 4para exibir uma linha de base da atividade do sistema. -
Execute um novo comando
stresse adicione as opções--vme--vm-bytespara gerar atividade de memória no sistema.stress --cpu 8 --vm 8 --vm-bytes 512M & -
Execute
vmstat 4 10,mpstat -P ALL 4 10etoppara avaliar a atividade de CPU e memória.vmstat 4 10 mpstat -P ALL 4 10 top- Saia do
topinformando Crtl+C.
- Saia do
-
Use o comando
pkillpara encerrar os processosstress.pkill stress -
Execute novamente os comandos
vmstat 4 4empstat 4 4para exibir uma linha de base da atividade do sistema. -
Execute um novo comando
stresse adicione a opção--iopara gerar atividade de entrada/saída no sistema.stress --cpu 8 --vm 8 --vm-bytes 512M --io 8 & -
Execute
vmstat 4 10,mpstat -P ALL 4 10etoppara avaliar a atividade de CPU, memória, entrada/saída.vmstat 4 10 mpstat -P ALL 4 10 top-
Saia do
topinformando Crtl+C. -
Use
pkillpara encerrarstress.
-
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Monitor system resources on Oracle Linux
F49879-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.