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
vmstat
empstat
etop
- Examine a saída de comandos de
vmstat
,mpstat
etop
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
vmstat
sem nenhuma opção.vmstat
O comando gera um único relatório. A saída é dividida em seis seções:
procs
,memory
,swap
,io
,system
ecpu
.-
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
si
eso
indicam 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 4
para executar quatro relatórios com sete segundos de intervalo.vmstat 7 4
A opção de contagem informa ao
vmstat
o 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 -s
para exibir uma tabela de vários contadores de eventos e estatísticas de memória.vmstat -s
-
Execute o comando
vmstat -a
para exibir a memória ativa e inativa.vmstat -a
A opção
-a
exibe a quantidade de memóriaactive
e inativa (inact
) na seçãomemory
da saída. -
Execute o comando
vmstat -f
para exibir o número de forks desde a última inicialização.vmstat -f
-
Execute o comando
vmstat -t
para adicionar um timestamp à saída.vmstat -t
-
Execute o comando
vmstat -d
para exibir estatísticas de uso do disco no sistema.vmstat -d
-
Execute o comando
vmstat -p sda1
para criar um relatório em uma partição de disco específica.vmstat -p sda1
A 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
mpstat
sem nenhuma opção.mpstat
A 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 em0
ou pela palavra-chaveall
indicando 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
mpstat
nã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 5
para exibir a atividade da CPU a cada dois segundos para um total de cinco relatórios sobre todas as CPUs.mpstat 2 5
A 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 ALL
para reportar o uso da CPU em cada CPU.mpstat -P ALL
Essa saída imprime uma única linha de atividade para todas as CPUs e para cada CPU. Observação:
mpstat
também imprime a utilização média de CPU para o período especificado. -
Execute o comando
mpstat -P ALL 2 5
para exibir a atividade da CPU a cada dois segundos nas CPUs.mpstat -P ALL 2 5
Essa saída imprime estatísticas de utilização de CPU para cada CPU 5 vezes em um intervalo de 2 segundos. Observação: que
mpstat
também imprime a utilização média de CPU para o período especificado. -
Execute o comando
mpstat -A
para 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
top
sem opções para uma view pontual da atividade da CPU.top
Por 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
m
para alternar e alternar o uso de memória. -
Digite
t
para 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:-
D
Sono ininterrupto -
R
Em Execução -
S
Inativo -
T
Rastreado ou interrompido -
Z
Zumbi
-
-
%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
top
informando 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 -i
para alternar para o usuário raiz.
-
Instale a ferramenta
stress
.-
Use o comando
dnf repolist
para 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
disabled
usando o comandodnf conifg-manager
.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Execute o comando
dnf install
para instalar os pacotes de ferramentasstress
.dnf install stress -y
-
Execute o comando
stress --dry-run
para 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 4
empstat 4 4
para 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 --cpu
para 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 -ef
para exibir os processosstress
em execução. Passe a saída paragrep stress
.ps -ef | grep stress
-
-
Execute o comando
vmstat 4 10
e anote os valores reportados nas colunas associadas à utilização da CPU.vmstat 4 10
Em alguns momentos, você deve ver as porcentagens na coluna
us
refletem a carga gerada porstress
. -
Execute o comando
mpstat 4 10
para avaliar a utilização de todas as CPUs.mpstat 4 10
-
Execute o comando
mpstat -P ALL 4 10
para avaliar a utilização de cada CPU.mpstat -P ALL 4 10
-
Execute o comando
top
para examinar a utilização de CPU pelos processosstress
.top
Após alguns minutos, observe que os processos
stress
estão em execução com a prioridade mais alta. Saia dotop
informando um Ctrl+C. -
Execute o comando
pkill
para encerrar os processosstress
.pkill stress
-
Execute novamente os comandos
vmstat 4 4
empstat 4 4
para exibir uma linha de base da atividade do sistema. -
Execute um novo comando
stress
e adicione as opções--vm
e--vm-bytes
para gerar atividade de memória no sistema.stress --cpu 8 --vm 8 --vm-bytes 512M &
-
Execute
vmstat 4 10
,mpstat -P ALL 4 10
etop
para avaliar a atividade de CPU e memória.vmstat 4 10 mpstat -P ALL 4 10 top
- Saia do
top
informando Crtl+C.
- Saia do
-
Use o comando
pkill
para encerrar os processosstress
.pkill stress
-
Execute novamente os comandos
vmstat 4 4
empstat 4 4
para exibir uma linha de base da atividade do sistema. -
Execute um novo comando
stress
e adicione a opção--io
para 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 10
etop
para avaliar a atividade de CPU, memória, entrada/saída.vmstat 4 10 mpstat -P ALL 4 10 top
-
Saia do
top
informando Crtl+C. -
Use
pkill
para 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.