Comando top - Linux

O comando top fornece um resumo dos processos mais ativos.

programicio@Programicio:~$ top

top - 14:39:08 up  7:08,  2 users,  load average: 0.27, 0.30, 0.38
Tasks: 465 total,   1 running, 463 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.5 us,  0.2 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
MiB Mem :  64033.8 total,  57653.0 free,   3746.2 used,   3945.3 buff/cache     
MiB Swap:   8192.0 total,   8192.0 free,      0.0 used.  60287.6 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND     
    2652 programicio    20   0 6562944 336432 134984 S   8.9   0.5  22:49.14 gnome-shell 
    3858 programicio    20   0  642936  63296  43044 S   4.0   0.1   0:37.70 gnome-term+ 
    18658 programicio    20   0 1131.7g 271684 113012 S   1.0   0.4   0:34.14 chrome      
    734 root       0 -20       0      0      0 I   0.7   0.0   1:09.78 kworker/u4+ 
    12392 programicio    20   0   32.8g 343540 251296 S   0.7   0.5   4:59.16 chrome      
    12443 programicio    20   0   32.5g 132984 100116 S   0.7   0.2   1:40.38 chrome      
    302 root       0 -20       0      0      0 I   0.3   0.0   0:02.83 kworker/12+ 
    307 root       0 -20       0      0      0 I   0.3   0.0   0:02.34 kworker/11+ 
    471 root      19  -1   58608  23772  22812 S   0.3   0.0   0:06.74 systemd-jo+ 
    3006 programicio    20   0  420764  27912  17824 S   0.3   0.0   0:04.50 ibus-exten+ 
    4162 programicio    20   0 1124.1g 217492 135132 S   0.3   0.3   5:29.35 code        
    6748 root      20   0  546608 109288  32136 S   0.3   0.2   0:02.29 fwupd       
    12441 programicio    20   0   33.2g 222732 121464 S   0.3   0.3  10:40.91 chrome      
    18999 root      20   0       0      0      0 I   0.3   0.0   0:03.55 kworker/11+ 
    19030 root      20   0       0      0      0 I   0.3   0.0   0:00.67 kworker/1:+ 
        1 root      20   0  169800  12476   8636 S   0.0   0.0   0:02.05 systemd     
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd    
        3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp      
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp  
        5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 slub_flush+ 
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns       
        8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:+ 
        11 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_+ 
        12 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_+ 
        13 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_+ 
        14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_+ 

Este comando atualiza automaticamente o resumo a cada 5 minutos.

As primeiras 5 linhas mostram o que o sistema está fazendo. Vamos analisar cada uma delas em detalhes. A primeira linha:

top - 14:39:08 up  7:08,  2 users,  load average: 0.27, 0.30, 0.38

Primeiro, é exibido o horário atual (neste exemplo 14:39:08), seguido pelo tempo de atividade do sistema (7 horas e 8 minutos) e pelo número de usuários conectados ao sistema (no resumo acima, 2 usuários).

Em seguida, temos o parâmetro load average: três números que mostram o quanto o computador está carregado em relação ao número de processadores/núcleos do processador. Eles fornecem o valor médio para o último minuto, os últimos 5 minutos e os últimos 15 minutos. Esses números dão uma ideia da média de processos que estavam aguardando para serem executados no período indicado.

A segunda linha mostra informações sobre o número total de tarefas e seu status atual:

Tasks: 465 total,   1 running, 463 sleeping,   0 stopped,   1 zombie

Aqui é exibido o número total de tarefas, neste caso, é 465. Em seguida, há informações sobre o estado dessas tarefas:

  • running: são tarefas que estavam ativamente sendo processadas no último ciclo de verificação.

  • sleeping: são tarefas que não estavam ativas no último ciclo de verificação.

  • stopped: são tarefas que foram interrompidas ao pressionar a tecla Ctrl-Z.

  • zombie: são tarefas cujos processos pai não estão mais disponíveis e, portanto, não podem ser interrompidas ou gerenciadas.

A terceira linha mostra informações sobre o uso do processador:

%Cpu(s):  0.5 us,  0.2 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 

Estas informações podem dar uma ideia do que o seu computador está fazendo. Em um sistema multiprocessador, são exibidas informações resumidas para todos os processadores/núcleos juntos. Em particular, são listados os seguintes parâmetros:

  • us: carga dos processos de usuário. Geralmente, são tarefas executadas sem privilégios de root e sem acesso direto às funções do kernel.

  • sy: carga dos processos do sistema. Normalmente, são tarefas executadas com privilégios de root e com acesso direto às funções do kernel.

  • ni: processos cuja prioridade foi ajustada com o comando nice.

  • id: atividade de ciclo de espera, ou seja, percentual de inatividade do sistema.

  • wa: tempo que o sistema passou em modo de espera. Este é o tempo durante o qual o sistema aguardou a conclusão de operações de entrada e saída (por exemplo, leitura ou gravação no disco). Se esse valor for alto, significa que há muitas tarefas relacionadas a entrada e saída e que o armazenamento do computador não está conseguindo lidar com elas de forma eficiente. Um valor médio acima de 30% pode indicar que o canal de entrada e saída não está funcionando corretamente.

  • hi: tempo que o computador gastou processando interrupções de hardware. Este valor deve ser sempre baixo. Se você vir um valor alto aqui, geralmente isso indica que os drivers estão funcionando mal.

  • si: tempo que o sistema gastou processando interrupções de software.

  • st: este parâmetro se aplica a ambientes que utilizam virtualização. Ele indica o tempo roubado do processador do computador atual por outras máquinas virtuais.

A quarta linha exibe informações sobre o uso da memória:

MiB Mem :  64033.8 total,  57653.0 free,   3746.2 used,   3945.3 buff/cache 

Aqui, são exibidas as seguintes informações:

  • total: quantidade total de memória em megabytes, disponível na forma de memória RAM instalada.

  • free: quantidade de memória que não está sendo usada no momento.

  • used: quantidade de memória atualmente usada por programas e serviços.

  • buff/cache: quantidade de memória usada para cache de solicitações de leitura e gravação. Esta é a memória que o kernel do Linux pode liberar para outras tarefas, se necessário.

A quinta linha mostra indicadores de uso da memória swap:

MiB Swap:   8192.0 total,   8192.0 free,      0.0 used.  60287.6 avail Mem

Como visto, foram alocados 8 GB para swap, que não estão sendo usados. O último indicador mostra a quantidade total de memória disponível, que inclui a quantidade indicada como free, além da memória que pode ser liberada imediatamente ao limpar buffers e caches desnecessários.

Na parte inferior da saída do comando top, são exibidas informações sobre os processos. Essas informações são divididas em várias colunas, que são exibidas por padrão.

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND     
  2652 programicio    20   0 6562944 336432 134984 S   8.9   0.5  22:49.14 gnome-shell 
  3858 programicio    20   0  642936  63296  43044 S   4.0   0.1   0:37.70 gnome-term+ 
 18658 programicio    20   0 1131.7g 271684 113012 S   1.0   0.4   0:34.14 chrome      
   734 root       0 -20       0      0      0 I   0.7   0.0   1:09.78 kworker/u4+ 

Por padrão, são exibidas as seguintes colunas:

  • PID: Identificador do processo. Cada processo possui um PID único, que pode ser usado para gerenciar o processo.

  • USER: Nome do usuário que iniciou o processo.

  • PR: Prioridade do processo. Processos com maior prioridade (menor número) serão atendidos antes dos de menor prioridade. Alguns processos têm prioridade RT (tempo real), o que significa que podem acessar os recursos do sistema a qualquer momento.

  • NI: Indica qual processo com prioridades iguais tem maior prioridade. Valores mais baixos significam maior prioridade.

  • VIRT: Quantidade total de memória virtual alocada ao processo. Este valor não se refere à memória física usada, mas sim ao intervalo de endereços reservado. Todos os processos no Linux podem reservar memória virtual a partir de um espaço de endereço de 32 TB.

  • RES: Quantidade de memória residente, que está atualmente sendo usada ativamente pelo processo.

  • SHR: Normalmente são bibliotecas usadas pelo processo e por outros processos.

  • S: Estado do processo.

  • %CPU: Percentual de ciclos de CPU usados pelo processo. A classificação é feita por esta coluna.

  • %MEM: Percentual de memória usado pelo processo.

  • TIME: Tempo real total durante o qual o processo utilizou o CPU desde o seu início.

  • COMMAND: Comando usado para iniciar este processo.

Entretanto, existem mais colunas disponíveis do que as exibidas por padrão. Para exibir outras colunas, pressione a tecla F enquanto estiver na tela do top. A seguir, a console mostrará uma lista de todas as colunas disponíveis, com * marcando as que estão ativas no momento:

Fields Management for window 1:Def, whose current sort field is %CPU
  Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
  'd' or <Space> toggles display, 's' sets sort.  Use 'q' or <Esc> to end!

* PID      = Process  PGRP     = Process  OOMs     = OOMEM S  RSS      = Res Mem
* USER     = Effecti  TTY      = Control  ENVIRON  = Environ  PSS      = Proport
* PR       = Priorit  TPGID    = Tty Pro  vMj      = Major F  PSan     = Proport
* NI       = Nice Va  SID      = Session  vMn      = Minor F  PSfd     = Proport
* VIRT     = Virtual  nTH      = Number   USED     = Res+Swa  PSsh     = Proport
* RES      = Residen  P        = Last Us  nsIPC    = IPC nam  USS      = Unique 
* SHR      = Shared   TIME     = CPU Tim  nsMNT    = MNT nam  ioR      = I/O Byt
* S        = Process  SWAP     = Swapped  nsNET    = NET nam  ioRop    = I/O Rea
* %CPU     = CPU Usa  CODE     = Code Si  nsPID    = PID nam  ioW      = I/O Byt
* %MEM     = Memory   DATA     = Data+St  nsUSER   = USER na  ioWop    = I/O Wri
* TIME+    = CPU Tim  nMaj     = Major P  nsUTS    = UTS nam  AGID     = Autogro
* COMMAND  = Command  nMin     = Minor P  LXC      = LXC con  AGNI     = Autogro
 PPID     = Parent   nDRT     = Dirty P  RSan     = RES Ano  STARTED  = Start T
 UID      = Effecti  WCHAN    = Sleepin  RSfd     = RES Fil  ELAPSED  = Elapsed
 RUID     = Real Us  Flags    = Task Fl  RSlk     = RES Loc  %CUU     = CPU Uti
 RUSER    = Real Us  CGROUPS  = Control  RSsh     = RES Sha  %CUC     = Utiliza
 SUID     = Saved U  SUPGIDS  = Supp Gr  CGNAME   = Control  nsCGROUP = CGRP na
 SUSER    = Saved U  SUPGRPS  = Supp Gr  NU       = Last Us  nsTIME   = TIME na
 GID      = Group I  TGID     = Thread   LOGID    = Login U
 GROUP    = Group N  OOMa     = OOMEM A  EXE      = Executa

Com as teclas de navegação (direita, esquerda) e Enter, você pode alternar a inclusão da coluna no resumo.

Para sair do resumo de processos, pressione q.

O comando top também pode aceitar opções adicionais. Algumas delas são:

  • -d, --delay=SECS: Define o intervalo de atualização.

  • -o, --sort-override=FIELD: Define a classificação pela coluna FIELD.

  • -p, --pid=PIDLIST: Monitora apenas os processos cujos identificadores estão em PIDLIST.

  • -U, --filter-any-user=USER: Filtra processos pelo usuário USER.

Por exemplo, para filtrar processos pelo usuário root:

top -U root
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com