Como usar o comando top do Linux (e entender sua saída)

Publicados: 2022-01-29
Um prompt de terminal em um laptop Linux.
Fatmawati Achmad Zaenuri/Shutterstock

O comando top do Linux é um dos pilares dos sistemas operacionais do tipo Unix. Sua tela utilitária está repleta de informações úteis sobre os processos em execução do seu sistema e o uso de recursos. Mas você sabia que ele também suporta cores, realces e até gráficos elementares?

Um painel repleto de informações

O comando top existe desde 1984 e há muitas variantes dele. Para este artigo, estamos executando o Ubuntu 18.04 com todos os patches aplicados e a versão 3.3.12 do top . Também cruzamos tudo em dois outros computadores de teste, um rodando o Fedora e o outro o Manjaro.

10 comandos básicos do Linux para iniciantes
RELACIONADOS 10 comandos básicos do Linux para iniciantes

A tela top padrão acumula o máximo de informações possível na janela do terminal. A informação é um pré-requisito para a administração, então isso é uma coisa boa. Uma das características de um bom administrador de sistema é a capacidade de identificar problemas emergentes e lidar com eles antes que afetem o serviço. top fornece um painel de muitas métricas de sistema diferentes que o ajudam a fazer exatamente isso.

A tela é melhor descrita como funcional, em vez de intuitiva, e as abreviações são abundantes. Quando você encontra top , parece apertado, enigmático e desanimador. Com alguns pressionamentos de tecla, porém, você pode ajustar o conteúdo e o formato da tela de acordo com o que é importante para você.

Verifique sua versão do top

Para verificar qual versão do top você possui, digite o seguinte em uma janela de terminal:

 topo -v 

Propaganda

Se sua versão estiver muito atrás da 3.3.12, ela pode não ser compatível com todos os recursos que abordaremos.

A exibição padrão

Você pode começar top digitando o seguinte e pressionando “Enter”:

 principal 

A exibição padrão contém duas áreas de informações: a área de resumo (ou painel) e a área de tarefas (ou lista de processos). Por padrão, o top atualiza sua exibição a cada três segundos - você notará uma leve oscilação quando isso acontecer.

A primeira linha de números no painel inclui o tempo, há quanto tempo seu computador está funcionando, o número de pessoas conectadas e qual foi a média de carga nos últimos um, cinco e 15 minutos. A segunda linha mostra o número de tarefas e seus estados: executando, parado, dormindo ou zumbi.

A terceira linha exibe os seguintes valores da unidade central de processamento (CPU):

  • us: quantidade de tempo que a CPU gasta executando processos para pessoas no “espaço do usuário”.
  • sy: Quantidade de tempo gasto executando processos de “espaço do kernel” do sistema.
  • ni: Quantidade de tempo gasto executando processos com um valor agradável definido manualmente.
  • id: Quantidade de tempo ocioso da CPU.
  • wa: Quantidade de tempo que a CPU gasta aguardando a conclusão da E/S.
  • oi: Quantidade de tempo gasto atendendo a interrupções de hardware.
  • si: Quantidade de tempo gasto atendendo a interrupções de software.
  • st: Quantidade de tempo perdido devido à execução de máquinas virtuais (“steal time”).

A quarta linha mostra a quantidade total (em kibibytes) de memória física e quanto está livre, usado e armazenado em buffer ou em cache.

A quinta linha mostra a quantidade total (também em kibibytes) de memória de troca e quanto está livre, usado e disponível. O último inclui memória que deve ser recuperada de caches.

Propaganda

Os títulos das colunas na lista de processos são os seguintes:

  • PID: ID do processo.
  • USUÁRIO: O proprietário do processo.
  • PR: Prioridade do processo.
  • NI: O bom valor do processo.
  • VIRT: Quantidade de memória virtual utilizada pelo processo.
  • RES: Quantidade de memória residente usada pelo processo.
  • SHR: Quantidade de memória compartilhada usada pelo processo.
  • S: Status do processo. (Veja a lista abaixo para os valores que este campo pode assumir).
  • %CPU: O compartilhamento de tempo de CPU usado pelo processo desde a última atualização.
  • %MEM: O compartilhamento de memória física usado.
  • TIME+: Tempo total de CPU usado pela tarefa em centésimos de segundo.
  • COMMAND: O nome do comando ou linha de comando (nome + opções).

Os valores de memória são mostrados em kibibytes. A coluna COMMAND está fora da tela, à direita - não coube na imagem acima, mas veremos em breve.

O status do processo pode ser um dos seguintes:

  • D: Sono ininterrupto
  • R: Correndo
  • S: Dormindo
  • T: Rastreado (parado)
  • Z: Zumbi

Pressione Q para sair do top .

Rolando a tela

Você pode pressionar as setas para cima ou para baixo, Home, End e Page Up ou Down para mover para cima e para baixo e acessar todos os processos.

Pressione a seta para a esquerda ou para a direita para mover a lista de processos para o lado. Isso é útil para ver as colunas que não se encaixam nos limites da janela do terminal.

Na imagem abaixo, pressionamos a seta para a direita algumas vezes para ver a coluna COMMAND .

Alterando as Unidades Numéricas

Vamos alterar as unidades de exibição para valores sensíveis. Pressione E maiúsculo para percorrer as unidades usadas para exibir os valores de memória nestas opções: kibibytes, mebibytes, gibibytes, tebibytes, pebibytes e exbibytes. A unidade em uso é o primeiro item nas linhas quatro e cinco.

Propaganda

Pressione “e” minúsculo para fazer o mesmo para os valores na lista de processos: kibibytes, mebibytes, gibibytes, tebibytes e pebibytes.

Pressionamos E para definir as unidades de memória do painel para gibibytes e “e” para definir as unidades de memória da lista de processos para mebibytes.

Alterando o Conteúdo do Resumo

Você pode alterar as configurações de exibição das linhas no painel ou removê-las completamente.

Pressione l para ativar ou desativar a linha de resumo de carga (a primeira linha). Removemos a linha de resumo de carregamento na imagem abaixo.

Se você tiver uma CPU multi-core, pressione 1 para alterar a exibição e ver as estatísticas individuais de cada CPU. Existem quatro CPUs em nosso computador. Pressionamos 1 para ver o quanto cada um deles está trabalhando.

Propaganda

Obviamente, isso ocupa mais espaço na tela na janela do terminal.

Você pode pressionar “t” para trocar as exibições da CPU para gráficos ASCII simples que mostram a porcentagem de uso de cada CPU.

Para cada CPU, top exibe três números e o gráfico. Da esquerda para a direita, os números são os seguintes:

  • A porcentagem combinada de us e ni (espaço do usuário + tarefas com configurações agradáveis ​​fora do padrão).
  • A porcentagem sy (espaço do kernel).
  • O total (arredondado para um valor inteiro).

Pressione “t” novamente para alterar a exibição do gráfico para caracteres de bloco sólido.

Pressione “t” mais uma vez para remover completamente a exibição da CPU e a linha de resumo da tarefa.

Pressione “m” para percorrer a memória e trocar as linhas de memória pelas diferentes opções de exibição. A primeira pressão substitui as estatísticas por um gráfico ASCII.

Outra pressão altera o gráfico para caracteres de bloco.

Propaganda

Pressione “m” mais uma vez para remover completamente as linhas da CPU.

Se desejar, você pode ver gráficos de CPU e memória ao mesmo tempo. Basta pressionar “t” e “m” até obter a combinação desejada.

Cor e destaque

Você pode pressionar “z” para adicionar cor ao display.

Quando você pensa em top , provavelmente não pensa em displays coloridos e gráficos ASCII, mas eles estão embutidos.

Pressione “y” para destacar as tarefas em execução na lista de processos. Pressionar “x” destaca a coluna usada para classificar a lista de processos. Você pode alternar entre realce de texto em negrito e invertido pressionando “b”.

Classificando por Colunas

Por padrão, a lista de processos é classificada pela coluna %CPU . Você pode alterar a coluna de classificação pressionando o seguinte:

  • P: A coluna %CPU .
  • M: A coluna %MEM .
  • N: A coluna PID .
  • T: A coluna TIME+ .
Propaganda

Na imagem abaixo, a lista de processos é ordenada pela coluna PID .

Veja a linha de comando completa

Pressionar “c” alterna a coluna COMMAND entre exibir o nome do processo e a linha de comando completa.

Para ver uma “árvore” de processos que foram lançados ou gerados por outros processos, pressione V.

Consulte Processos para um único usuário

Pressione “u” para ver os processos de um único usuário. Você será solicitado a fornecer o nome ou UID.

Digite o nome do UID da pessoa que você deseja monitorar. Vamos digitar “dave” e pressionar “Enter”. Agora, os únicos processos na área de tarefas pertencem ao usuário dave .

Ver apenas tarefas ativas

Pressione I para ver apenas as tarefas ativas.

As tarefas que não consumiram nenhuma CPU desde a última atualização não serão exibidas.

Definir quantos processos exibir

Pressione “n” para limitar a exibição a um certo número de linhas, independentemente de as tarefas estarem ativas. Você será solicitado a informar o número de processos a serem exibidos.

Propaganda

Digitamos 10 e pressionamos Enter, então 10 processos aparecem na área de tarefas.

Renice um processo

Você pode pressionar “r” para alterar o valor nice (prioridade) para um processo. Você será solicitado a fornecer o ID do processo. Basta pressionar Enter para usar o ID do processo da tarefa na parte superior da janela do processo. Digitamos 7800, que é o ID do processo de uma instância do Firefox.

Depois de pressionar Enter, você será solicitado a aplicar o novo valor nice ao processo. Digitamos 15 e, em seguida, pressionamos Enter.

O novo valor nice é aplicado ao processo imediatamente.

RELACIONADO: Como definir prioridades de processo com nice e renice no Linux

Matar um processo

Pressione “k” para matar um processo. Você será solicitado a fornecer o ID do processo que deseja eliminar. Na verdade, você pode enviar qualquer sinal para o processo. Vamos matar o processo 7879, que parou de responder.

Propaganda

Você terá a chance de digitar o sinal que deseja enviar. Você pode especificá-lo por nome ou número. Se você simplesmente pressionar Enter, top envia o sinal SIGTERM (kill).

Assim que você pressionar Enter, o sinal é enviado para o processo.

RELACIONADO: Como matar processos do terminal Linux

Personalizando a exibição

Você também pode personalizar as cores e as colunas exibidas. Vamos alterar a cor usada para prompts, cujo padrão é vermelho.

Pressione Z maiúsculo para ir para a página de configurações de cores. A parte superior da tela mostra as cores em uso pelos diferentes elementos de exibição. Para indicar qual elemento de exibição você deseja alterar, pressione um dos seguintes, que diferenciam maiúsculas de minúsculas:

  • S : Área de dados de resumo.
  • M : Mensagens e prompts.
  • H : Cabeçalhos das colunas.
  • T : Informações da tarefa na lista de processos.

Pressionamos M para alterar os prompts.

Para escolher uma cor, pressione um dos seguintes números:

  • 0: Preto.
  • 1: Vermelho.
  • 2: Verde.
  • 3: Amarelo.
  • 4: Azul.
  • 5: Magenta.
  • 6: Ciano.
  • 7: Branco.

Pressionamos 6 para usar ciano.

Pressione Enter para salvar suas configurações. Os prompts de entrada agora estarão na cor que você selecionou.

Propaganda

Também podemos alterar as colunas exibidas na tela de Gerenciamento de Campos. Pressione F para entrar na tela de Gerenciamento de Campos.

Os campos exibidos têm um asterisco ( * ) ao lado e são destacados em negrito. Pressione as setas para cima e para baixo para mover o destaque pela lista de campos.

Se você mover o destaque da parte inferior de uma coluna, ele aparecerá na parte superior da próxima (a menos que você esteja na parte inferior da última coluna). Se você movê-lo do topo de uma coluna, ele aparecerá na parte inferior da anterior (a menos que você esteja no topo da primeira coluna).

Movemos o destaque para a entrada COMMAND e, em seguida, pressionamos “d” para remover o asterisco ( * ). Em seguida, passamos para a entrada UID e pressionamos “d” para colocar um asterisco ao lado dessa entrada. Isso significa que a coluna COMMAND não será exibida, mas a coluna UID será.

Enquanto o destaque está na coluna UID , pressionamos “s” para ordenar a lista de processos na coluna UID .

Pressione Enter para salvar suas configurações e, em seguida, pressione “q” para sair da tela de Gerenciamento de Campos.

Propaganda

A coluna UID substituiu a coluna COMMAND e a lista de processos é classificada por ela.

Modo de exibição alternativo

Isso funciona melhor no modo de tela cheia. Pressione A para exibir quatro áreas na lista de processos e, em seguida, pressione “a” para mover de área para área.

Cada área tem uma coleção diferente de colunas, mas cada uma também é personalizável através da tela de Gerenciamento de Campos. Isso permite que você tenha uma exibição personalizada em tela cheia mostrando informações diferentes em cada área e a capacidade de classificar cada área por uma coluna diferente.

Outros pressionamentos de tecla

A seguir estão algumas outras chaves que você pode achar úteis em top :

  • W : Salve suas configurações e personalizações para que ainda estejam em vigor na próxima vez que você iniciar top .
  • d : Defina uma nova taxa de atualização de exibição.
  • Espaço : forçar o top a atualizar sua exibição agora.

Top Banana

Como vimos, top tem um repertório e tanto. Outros programas, como o htop , foram inspirados por ele, mas cada um deles tem sua própria opinião sobre as coisas.

Propaganda

No entanto, top está instalado em todos os lugares. Quando você vai às empresas para examinar redes ou servidores, muitas vezes você será informado de que absolutamente nada pode ser alterado nos servidores ativos. O cliente faz as regras, então você tem que usar o que já está instalado.

Mesmo que você prefira uma ferramenta de monitoramento diferente, deve conhecer top . Mais cedo ou mais tarde, você provavelmente se encontrará em uma situação em que é tudo a que terá acesso.

RELACIONADO: Melhores laptops Linux para desenvolvedores e entusiastas