Como Utilizar o Comando superior Linux (e Compreender a sua Saída)

  • Dave McKay

    @TheGurkha

  • May 12, 2020, 8:00am EDT

Um prompt de terminal num PC portátil Linux.
Fatmawati Achmad Zaenuri/

p> O comando Linuxtopé uma das “stalwarts” dos sistemas operativos do tipo Unix. A sua exibição utilitária está repleta de informação útil sobre os processos de execução e utilização de recursos do seu sistema. Mas, sabia que também suporta cor, destaque, e mesmo gráficos elementares?

Um Painel de Informação Empacotado

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

O padrão top exibe o máximo de informação possível na janela do terminal. A informação é um pré-requisito para a administração, portanto isto é uma coisa boa. Uma das características de um bom administrador de sistemas é a capacidade de identificar problemas emergentes e lidar com eles antes que afectem o serviço. top dá-lhe um painel de controlo de muitas métricas de sistema diferentes que o ajudam a fazer exactamente isso.

Anúncio

O visor é melhor descrito como funcional, em vez de intuitivo, e as abreviaturas abundam. Quando se encontra pela primeira vez top, sente-se apertado, críptico, e desligado. Com algumas teclas, no entanto, pode afinar o conteúdo e o formato do visor de acordo com o que é importante para si.

Verifica a tua versão do topo

Para verificar qual a versão do topo que tens, escreve o seguinte numa janela terminal:

top -v

top -v in a terminal window.top -v numa janela terminal.

se a tua versão estiver muito atrás de 3.3.12, pode não suportar todas as características que vamos cobrir.

A exibição padrão

Pode iniciar top digitando o seguinte e premindo “Enter”:

top

top numa janela de terminal.

Anúncio

A exibição padrão contém duas áreas de informação: a área de resumo (ou painel de instrumentos), e a área de tarefas (ou lista de processos). Por defeito, top actualiza a sua exibição de três em três segundos – irá notar uma ligeira cintilação quando o fizer.

a exibição superior predefinida numa janela de terminal.

A primeira linha de números no tablier inclui o tempo, há quanto tempo o seu computador está a funcionar, o número de pessoas que fizeram login, e qual tem sido a média da carga durante o último, cinco, e 15 minutos. A segunda linha mostra o número de tarefas e os seus estados: a correr, parado, a dormir, ou zombie.

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

  • us: Tempo que a CPU gasta a executar processos para pessoas no “espaço do utilizador”
  • sy: Quantidade de tempo gasto a executar processos do “espaço do núcleo” do sistema.
  • ni: Quantidade de tempo gasto a executar processos com um valor definido manualmente.
  • id: Quantidade de tempo de inactividade da CPU.
  • wa: Quantidade de tempo que o CPU gasta à espera de E/S para completar.
  • olá: Quantidade de tempo gasto em manutenção de hardware interrupções.
  • si: Tempo gasto na manutenção de interrupções de software.
  • st: Quantidade de tempo perdido devido à execução de máquinas virtuais (“roubar tempo”).

A quarta linha mostra a quantidade total (em kibibibytes) de memória física, e quanto é livre, usada, e tamponada ou em cache.

A quinta linha mostra a quantidade total (também em kibibibytes) de memória swap, e quanto é livre, usada, e disponível. Esta última inclui a memória que se espera recuperar de caches.

Publicidade

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

  • PID: Process ID.
  • USER: O proprietário do processo.
  • PR: Prioridade do processo.
  • NI: O valor agradável do processo.
  • VIRT: Quantidade de memória virtual utilizada pelo processo.
  • RES: Quantidade de memória residente utilizada pelo processo.
  • SHR: Quantidade de memória partilhada utilizada pelo processo.
  • S: Estado do processo. (Ver a lista abaixo para os valores que este campo pode tomar).
  • %CPU: A percentagem de tempo de CPU utilizado pelo processo desde a última actualização.
  • %MEM: A percentagem de memória física utilizada.
  • TIME+: Tempo total de CPU utilizado pela tarefa em centésimos de segundo.
  • COMANDO: O nome do comando ou linha de comando (nome + opções).

Valores de memória são mostrados em kibibytes. A coluna está fora do ecrã, à direita não cabia na imagem acima, mas vamos vê-la em breve.

O estado do processo pode ser um dos seguintes:

  • D: Sono ininterrupto
  • R: Correndo
  • S: Dormindo
  • T: Traçado (parado)
  • Z: Zumbi

Pressão Q para sair top.

Deslocando o Visor

P>Pode pressionar as setas para cima ou para baixo, Home, End, e Page Up ou Down para mover para cima e para baixo e aceder a todos os processos.

Anúncio

Pressiona a seta para a esquerda ou para a direita para mover a lista de processos para os lados. Isto é útil para ver quaisquer colunas que não cabem dentro dos limites da janela do terminal.

Na imagem abaixo, pressionamos a Seta Direita algumas vezes para ver a coluna .

top com a lista de processos deslocada lateralmente para revelar a coluna de comandos, numa janela de terminal.

Mudando as unidades numéricas

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

Pressionar “e” minúsculo para fazer o mesmo para os valores na lista de processo: kibibibytes, mebibytes, gibibytes, tebibytes, e pebibytes.

Anúncio

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

top com gibibytes e mebibytes utilizados para unidades de memória numa janela terminal.

Modificando o Conteúdo Sumário

P>Pode alterar as definições de visualização das linhas no tablier ou removê-las completamente.

Pressionar l para ligar ou desligar a linha de resumo da carga (a primeira linha). Removemos a linha do resumo da carga na imagem abaixo.

Carregar linha de resumo removida do topo numa janela de terminal.

Se tiver uma CPU multi-core, prima 1 para alterar o visor e ver as estatísticas individuais de cada CPU. Existem quatro CPUs no nosso computador. Pressionamos 1 para ver o quão difícil cada uma delas está a funcionar.

top com o ecrã da CPU expandido para ver as estatísticas individuais da CPU, numa janela de terminal.

Anúncio

Obviamente, isto ocupa mais espaço no ecrã dentro da janela do terminal.

Pode premir “t” para trocar as exibições da CPU por gráficos ASCII simples que mostram a percentagem de utilização para cada CPU.

top com gráficos ASCII que mostram a carga de trabalho da CPU, numa janela de terminal.

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:

  • O combinado us e ni percentagem (espaço do utilizador+tarefas com definições não padronizadas e agradáveis).
  • O sy percentagem (espaço de núcleo).
  • O total (arredondado para um valor inteiro).

pressionar “t” novamente para alterar a visualização gráfica para caracteres de bloco sólido.

top com gráficos de blocos ASCII mostrando a carga de trabalho da CPU, numa janela terminal.

Publicidade

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

top com a CPU e linhas de resumo de tarefas removidas, numa janela de terminal.

Pressiona “m” para fazer o ciclo da memória e trocar as linhas de memória através de diferentes opções de visualização. A primeira pressão substitui as estatísticas por um gráfico ASCII.

top mostrando gráficos ASCII para as estatísticas da memória, numa janela de terminal.

Outra pressão altera o gráfico para bloquear caracteres.

top mostrando gráficos de blocos ASCII para as estatísticas da memória, numa janela de terminal.

Pressiona “m” mais uma vez para remover as linhas de CPU ao mesmo tempo.

top com a memória e troca de linhas removidas do visor, numa janela de terminal.

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

top com gráficos ASCII para CPU e memória, numa janela de terminal.

Cor e Realce

P>Pode premir “z” para adicionar cor ao mostrador.

top com um ecrã colorido, numa janela de terminal.

Anúncio

Quando pensa em top, provavelmente não pensa em ecrãs coloridos e gráficos ASCII, mas são construídos directamente em.

Pressiona “y” para destacar tarefas em execução na lista de processos. Ao premir “x” realça a coluna utilizada para ordenar a lista de processos. Pode alternar entre realce de texto a negrito e invertido premindo “b.”

top com tarefa em execução e coluna ordenada realçada utilizando texto invertido, numa janela terminal.

Selecção por colunas

Por defeito, a lista de processos é ordenada pela coluna %CPU. Pode alterar a coluna de ordenação pressionando a seguinte:

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

Na imagem abaixo, a lista do processo é ordenada pela coluna PID.

top com o processo ordenado pela coluna PID, numa janela terminal.

Veja a linha de comando completa

Pressing “c” alterna a coluna COMMAND entre a exibição do nome do processo e a linha de comando completa.

top mostrando a linha de comando completa na coluna de comando, numa janela de terminal.

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

Ver Processos para um único utilizador

Pressionar “u” para ver os processos para um único utilizador. Ser-lhe-á pedido o nome ou UID.

Pedido de utilizador numa janela terminal.

Anúncio

Digite o nome do UID da pessoa que pretende monitorizar. Vamos escrever “dave” e clicar em “Enter”. Agora, os únicos processos na área de tarefas pertencem ao utilizador dave.

topo a exibir tarefas para um único utilizador dave, numa janela terminal.

Apenas Ver Tarefas Activas

Pressionar I para ver apenas tarefas activas.

top mostrando apenas tarefas activas, numa janela de terminal.

Tarefas que não tenham consumido nenhum CPU desde a última actualização não serão mostradas.

Definir quantos processos a mostrar

Pressionar “n” para limitar a exibição a um certo número de linhas, independentemente de as tarefas estarem activas. Ser-lhe-á pedido o número de processos a exibir.

top pedindo o número de linhas a exibir, numa janela terminal.

Digitamos 10 e premimos Enter, pelo que aparecem 10 processos na área de tarefas.

Reniciar um Processo

P>P>Pode premir “r” para alterar o valor agradável (prioridade) de um processo. Ser-lhe-á pedido o ID do processo. Basta premir Enter para utilizar a ID do processo da tarefa no topo da janela do processo. Digitamos 7800, que por acaso é o ID de processo de uma instância do Firefox.

top solicitando o ID de processo de um processo, numa janela terminal.

Publicidade

Depois de premir Enter, é-lhe solicitado o novo valor simpático a aplicar ao processo. Escrevemos 15, e depois premimos Enter.

top definindo um processo para um valor agradável de 15, numa janela de terminal.

O novo valor agradável é aplicado ao processo imediatamente.

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

Kill a Process

Pressionar “k” para matar um processo. Ser-lhe-á então pedido o ID do processo que pretende matar. Na verdade, pode enviar qualquer sinal para o processo. Vamos matar o processo 7879, que parou de responder.

top solicitando um ID de processo, numa janela terminal.

Publicidade

Ser-lhe-á dada a oportunidade de digitar o sinal que deseja enviar. Pode especificá-lo pelo nome ou número. Se simplesmente premir Enter, top envia o sinal SIGTERM (kill).

top solicitando um sinal para enviar, numa janela terminal.

Assim que premir Enter, o sinal é enviado para o processo.

RELATADO: Como Matar Processos do Terminal Linux

Customizing the Display

P>Pode também personalizar as cores e colunas que são exibidas. Vamos alterar a cor utilizada para os avisos, cujo padrão é vermelho.

top mostrando um aviso vermelho claro, numa janela de terminal.

Pressionar Z maiúsculo para ir para a página de definições de cores. A parte superior do ecrã mostra as cores em uso pelos diferentes elementos do ecrã. Para indicar qual elemento do ecrã pretende alterar, prima um dos seguintes, que são sensíveis a maiúsculas/minúsculas:

  • S: Área de dados resumidos.
  • M: Mensagens e avisos.
  • H: Títulos das colunas.
  • T: Informação de tarefas na lista de processos.

Pressionamos M para alterar os prompts.

top página de definição de cores com a opção M seleccionada, numa janela terminal.

Anúncio

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

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

p> Pressionamos 6 para usar cyan.

top color settings window with color 6 selected, in a terminal window.janela de definições de cor com a cor 6 seleccionada, numa janela terminal.

Pressiona Enter para guardar as suas definições. Os pedidos de entrada estarão agora na cor seleccionada.

top com um prompt cyan, numa janela de terminal.

p>Podemos também alterar as colunas exibidas no ecrã Gestão de Campos. Prima F para entrar no ecrã de Gestão de Campos.

top mostrando o ecrã de gestão de campos, numa janela de terminal.

Campos que são exibidos têm um asterisco (* ) ao lado deles e estão destacados a negrito. Prima as setas para cima e para baixo para mover o destaque através da lista de campos.

Anúncio

Se mover o destaque para fora da parte inferior de uma coluna, este aparecerá no topo da coluna seguinte (a menos que esteja na parte inferior da última coluna). Se o mover do topo de uma coluna, aparecerá no fundo da anterior (a menos que esteja no topo da primeira coluna).

Movemos o destaque para COMMAND entrada, e depois premimos “d” para remover o asterisco (*). Seguidamente passámos para o UID entrada, e pressionámos “d” para colocar um asterisco junto a essa entrada. Isto significa que a coluna não será exibida, mas a coluna UID irá.

top exibindo o ecrã de gestão de campo com a coluna UID seleccionada numa janela terminal.

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

top exibindo o ecrã de gestão de campos com a coluna UID definida como coluna de ordenação numa janela de terminal.

Pressione Enter para guardar as suas configurações, e depois prima “q” para sair do ecrã de Gestão de Campos.

top com a coluna UID exibida, e definir como a coluna de ordenação numa janela de terminal.

Anúncio

A coluna UID substituiu a coluna , e a lista de processos é ordenada por ela.

Modo de exibição alternativo

Isto funciona melhor em modo de ecrã inteiro. Prima A para exibir quatro áreas na lista de processos, e depois prima “a” para passar de área para área.

top com a exibição alternativa activada numa janela terminal.

Cada área tem uma colecção diferente de colunas, mas cada uma é também personalizável através do ecrã de Gestão de Campos. Isto dá-lhe a possibilidade de ter um ecrã completo e personalizado mostrando informações diferentes em cada área, e a capacidade de ordenar cada área por uma coluna diferente.

Outras teclas

As seguintes são algumas outras teclas que poderá achar úteis em top:

  • W: Guarde as suas configurações e personalizações para que ainda estejam em vigor na próxima vez que iniciar top.
  • d: Defina uma nova taxa de actualização do ecrã.
  • Espaço: Force top para actualizar a sua exibição agora mesmo.

Top Banana

Como vimos, top tem um repertório e tanto. Outros programas, tais como htop, foram inspirados por ele, mas cada um deles tem a sua própria concepção.

Publicidade

No entanto, top está instalado em todo o lado. Quando vai a empresas para ver redes ou servidores, ser-lhe-á muitas vezes dito que nada pode ser alterado nos servidores ao vivo. O cliente faz as regras, por isso tem de usar o que já está instalado.

p>Even se preferir uma ferramenta de monitorização diferente, deverá conhecertop. Mais cedo ou mais tarde, é provável que se encontre numa situação em que só terá acesso a.

Dave McKay
Dave McKay usou pela primeira vez computadores quando a fita de papel perfurado estava em voga, e tem vindo a programar desde então. Após mais de 30 anos na indústria das TI, é agora um jornalista de tecnologia a tempo inteiro. Durante a sua carreira, trabalhou como programador freelance, gestor de uma equipa internacional de desenvolvimento de software, gestor de projectos de serviços de TI e, mais recentemente, como responsável pela protecção de dados. Dave é um evangelista Linux e defensor do código aberto. Leia a biografia completa ”

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *