Introdução
Monitorar os processos do sistema é uma habilidade crucial para usuários Linux e administradores de sistemas. Compreender quais processos estão em execução e como eles consomem recursos permite manter a estabilidade e o desempenho do sistema.
Neste laboratório, você aprenderá a usar o comando top, uma ferramenta poderosa para monitoramento em tempo real dos processos do sistema Linux. O comando top fornece informações detalhadas sobre o uso da CPU, consumo de memória e outras métricas importantes do sistema. Ao dominar este comando essencial, você será capaz de identificar processos que consomem muitos recursos e gerenciar efetivamente os recursos do seu sistema Linux.
Introdução ao Comando top
O comando top é um utilitário Linux fundamental que exibe uma visão dinâmica e em tempo real dos processos em execução no seu sistema. O nome "top" refere-se ao seu comportamento padrão de mostrar os processos que consomem mais CPU, os "top" processos.
Vamos começar navegando para o seu diretório do projeto e explorando o uso básico do comando top:
cd ~/project
Agora, execute o comando top:
top
Ao executar este comando, você deverá ver uma exibição interativa semelhante à seguinte:
top - 14:25:30 up 2 days, 3:45, 1 user, load average: 0.15, 0.20, 0.25
Tasks: 105 total, 1 running, 104 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 1.0 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 4096.0 total, 2841.3 free, 845.2 used, 409.5 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 2970.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 labex 20 0 562340 42340 28456 S 2.0 1.0 0:30.25 firefox
2345 labex 20 0 78912 23456 13204 S 0.7 0.6 0:12.34 terminal
3456 root 20 0 43528 5424 4356 S 0.3 0.1 0:05.67 sshd
... (more processes)
A exibição do top consiste em duas seções principais:
Área de Resumo (primeiras 5 linhas): Fornece informações em todo o sistema, incluindo:
- Tempo de atividade do sistema (uptime) e médias de carga (load averages)
- Estatísticas de tarefas (total, em execução, em espera, etc.)
- Porcentagens de uso da CPU
- Uso de memória (RAM e Swap)
Lista de Processos (tabela abaixo do resumo): Lista os processos em execução com detalhes como:
- PID: ID do processo
- USER: O proprietário do processo
- PR: Prioridade
- NI: Valor Nice
- VIRT: Memória virtual usada
- RES: Memória residente usada
- %CPU: Porcentagem de uso da CPU
- %MEM: Porcentagem de uso da memória
- COMMAND: Nome do comando
A exibição é atualizada automaticamente a cada 3 segundos por padrão. Para sair do comando top, basta pressionar a tecla q.
Agora, vamos capturar um snapshot estático dos processos usando a opção -n 1. Isso diz ao top para atualizar apenas uma vez e depois sair:
top -n 1 > ~/project/top_snapshot.txt
Este comando cria um arquivo chamado top_snapshot.txt no seu diretório do projeto, contendo um snapshot dos processos atuais do sistema. Vamos verificar o conteúdo do arquivo:
cat ~/project/top_snapshot.txt
Você deve ver uma saída semelhante ao que foi exibido na sessão interativa do top, mas como um arquivo de texto estático.
Interpretando a Saída do top
Agora que você tem um snapshot dos processos do sistema, vamos analisar as informações para entender o que ela nos diz sobre o uso de recursos do sistema.
Abra o arquivo top_snapshot.txt usando o editor de texto nano:
nano ~/project/top_snapshot.txt
Neste arquivo, você pode ver as mesmas informações exibidas no comando top interativo. Vamos nos concentrar em identificar o processo que mais utiliza a CPU na lista.
Olhe para a seção da lista de processos (abaixo da área de resumo) e encontre o processo com o valor mais alto na coluna %CPU. Isso indica o processo que estava consumindo mais CPU no momento em que o snapshot foi tirado.
Por exemplo, se você vir uma linha como esta:
1234 labex 20 0 562340 42340 28456 S 2.0 1.0 0:30.25 firefox
Isso mostra que o processo com PID 1234 (firefox), de propriedade do usuário "labex", estava usando 2,0% da CPU e 1,0% da memória.
Anote as seguintes informações para o processo com o maior uso da CPU:
- PID (Process ID - ID do Processo)
- USER (o proprietário do processo)
- %CPU (Porcentagem de uso da CPU)
- %MEM (Porcentagem de uso da memória)
- COMMAND (O comando ou programa em execução)
Para sair do nano, pressione Ctrl+X.
Agora, crie um arquivo chamado top_analysis.txt para documentar suas descobertas:
echo "Análise do processo que mais utiliza a CPU" > ~/project/top_analysis.txt
Adicione os detalhes do processo que mais utiliza a CPU ao arquivo. Substitua os espaços reservados pelos valores reais que você observou:
echo "PID: [Substitua com PID]" >> ~/project/top_analysis.txt
echo "USER: [Substitua com USER]" >> ~/project/top_analysis.txt
echo "CPU%: [Substitua com %CPU]" >> ~/project/top_analysis.txt
echo "MEM%: [Substitua com %MEM]" >> ~/project/top_analysis.txt
echo "COMMAND: [Substitua com COMMAND]" >> ~/project/top_analysis.txt
Por exemplo, se o processo 1234 (firefox) foi o que mais utilizou a CPU, você inseriria:
echo "PID: 1234" >> ~/project/top_analysis.txt
echo "USER: labex" >> ~/project/top_analysis.txt
echo "CPU%: 2.0" >> ~/project/top_analysis.txt
echo "MEM%: 1.0" >> ~/project/top_analysis.txt
echo "COMMAND: firefox" >> ~/project/top_analysis.txt
Vamos verificar o que escrevemos no arquivo:
cat ~/project/top_analysis.txt
Isso deve exibir o conteúdo do seu arquivo de análise com os detalhes do processo que mais utiliza a CPU.
Ordenando e Filtrando Processos no top
O comando top torna-se ainda mais poderoso quando você aprende a ordenar e filtrar processos. Nesta etapa, você aprenderá como personalizar a exibição do top para se concentrar em informações específicas.
Primeiro, vamos executar o comando top interativo novamente:
top
Enquanto o top estiver em execução, você pode usar atalhos de teclado para modificar seu comportamento:
- Pressione
M(maiúsculo) para ordenar os processos por uso de memória - Pressione
P(maiúsculo) para ordenar os processos por uso da CPU (padrão) - Pressione
T(maiúsculo) para ordenar os processos por tempo (há quanto tempo eles estão em execução) - Pressione
N(maiúsculo) para ordenar os processos por PID (ID do processo)
Experimente cada uma dessas opções de ordenação para ver como a lista de processos muda. Quando terminar de experimentar, pressione q para sair do top.
Agora, vamos criar um snapshot de processos ordenados por uso de memória. Usaremos o modo batch do top com opções específicas:
top -b -n 1 -o %MEM > ~/project/top_sorted_by_mem.txt
Este comando usa:
-b: Modo batch (não interativo)-n 1: Executar apenas uma iteração-o %MEM: Ordenar por uso de memória
Vamos verificar o conteúdo deste arquivo:
cat ~/project/top_sorted_by_mem.txt
Você deve ver os processos listados em ordem de uso de memória, com os processos que mais consomem memória no topo.
Em seguida, vamos filtrar os processos para mostrar apenas aqueles pertencentes à sua conta de usuário:
top -b -n 1 -u labex > ~/project/top_user_filtered.txt
A opção -u labex filtra a saída para mostrar apenas os processos de propriedade do usuário "labex". Vamos examinar este arquivo:
cat ~/project/top_user_filtered.txt
Este arquivo deve mostrar apenas os processos de propriedade do usuário "labex".
Finalmente, vamos combinar ordenação e filtragem para criar uma visualização mais específica:
top -b -n 1 -u labex -o %CPU > ~/project/top_custom.txt
Este comando mostra apenas os processos pertencentes ao usuário "labex" e os ordena por uso da CPU. Vamos verificar o resultado:
cat ~/project/top_custom.txt
Essas opções de personalização tornam o top uma ferramenta versátil para se concentrar em aspectos específicos do desempenho do sistema e do uso de recursos.
Resumo
Neste laboratório, você aprendeu a usar o comando top para monitorar e analisar processos no Linux. As habilidades que você adquiriu incluem:
- Executar o comando
toppara visualizar uma exibição em tempo real dos processos do sistema - Compreender as informações exibidas na saída do
top, incluindo o uso da CPU, o uso da memória e os detalhes do processo - Capturar snapshots de informações do processo para análise
- Identificar processos que consomem muitos recursos, examinando o uso da CPU e da memória
- Personalizar a exibição do
toppor meio de opções de ordenação e filtragem
Essas habilidades são essenciais para a administração do sistema e o monitoramento de desempenho em ambientes Linux. O comando top é uma das ferramentas mais frequentemente usadas para avaliar rapidamente a integridade do sistema e identificar possíveis problemas de desempenho.
Ao dominar o comando top, você agora tem a capacidade de monitorar efetivamente os recursos do sistema, identificar processos que podem estar causando problemas de desempenho e reunir as informações necessárias para otimizar o desempenho do sistema.



