A utilidade do comando TOP para hospedagem do site
É comum quando o assunto é sistema operacional, destacar os aspectos que constituem os diferenciais de cada um e entre as muitas “qualidades” das opções mais populares e que frequentemente são lembradas, sem dúvida que as linhas de comando do Linux, sempre são destaque.
Por isso, hoje vamos mostrar em termos práticos, o quão útil apenas um comando simples e poderoso pode ser. Estamos falando do comando TOP!
Se você quer saber o que é e como ele pode ajudar em algumas situações da sua conta de hospedagem, fique conosco.
O que é o comando TOP?
O comando top é um comando executável por intermédio do terminal, ou seja, via linha de comando e que faz uso de uma interface própria de saída, a qual permite ter informação instantânea e abrangente do que está acontecendo no sistema.
Em sua execução mais básica e padrão, ele exibe uma variedade de dados de saída do Linux quanto aos mais variados processos, tanto do próprio sistema operacional, como os mais variados processos do kernel, como também de eventuais serviços, como e-mail, banco de dados ou PHP.
Vale destacar que embora nossa abordagem esteja mais focada no seu uso para uma conta de hospedagem, ele é um comando Linux para qualquer tipo de uso e disponível na grande maioria das distribuições Linux.
Pode servir para um sysadmin responsável pelos servidores de uma empresa ou para um usuário final de um desktop.
A variedade de dados exibidos em tempo real e quais são esses dados, permitem um monitoramento dinâmico e bastante útil do que está ocorrendo no sistema, já que por padrão as informações são atualizadas de segundo em segundo.
Entre as muitas informações exibidas, é possível saber o total de processos ativos, parados ou dormindo, o percentual de uso da CPU, de memória RAM, os processos ligados a serviços, entre outros dados.
Como interpretar a interface do TOP?
Apesar de parecer um tanto complicado para quem vê pela primeira vez, a interface padrão do comando top é bastante funcional.
Na ordem e de cima para baixo, da esquerda para direita, temos:
-
Horário do relógio da máquina (top);
-
O tempo que a máquina está ligada, em dias e horas (up);
-
Quantos usuários estão logados no momento da sua execução (user);
-
A carga média expressa em termos médios calculados em 1 minuto, 5 minutos e 15 minutos e por isso existem 3 valores para o “load average”;
-
O número total de processos (tasks), sendo que são exibidos quantos estão rodando (running), quantos estão dormindo (sleeping), quanto parados (stopped) e quantos zumbis (zombie);
-
Percentual de uso de CPU, para o usuário (%us), por parte do kernel do sistema (%sy), para processos com privilégios especiais (%ni), qual o percentual ocioso (%id), a percentagem de uso de CPU em operações de entrada e saída, por exemplo leitura de disco (%wa), interrupções de hardware (%hi) e de software (%si) e por fim, a percentagem de uso em máquinas virtuais (%st);
-
As duas linhas finais, são relativas a quanto de memória física (memória RAM) e swap está em uso, sendo o total, livre, em uso e cache, respectivamente.
Na parte superior da interface, os dados permitem ter uma visão geral da ocupação de recursos físicos ou de hardware do sistema operacional, como uso do processador e da memória.
Já na parte inferior, os dados são referentes aos mais diversos processos, quais os serviços associados, quais os usuários, entre outras situações.
A disposição dessas informações, é feita por colunas, conforme segue:
-
PID – é a identificação do process ID ou número de identificação de cada processo em execução;
-
USER – exibe o nome do usuário responsável pela iniciação do processo;
-
PR – prioridade do processo;
-
NI – valor de nice dos processos, que indica a prioridade que o sistema dá ao processo. Quanto mais se aproxima de -20 (negativo), maior a prioridade e inversamente, os que tendem a 20 (positivo), têm menor prioridade por parte do sistema;
-
VIRT – indica o uso de memória virtual;
-
RES – indica o uso de memória residente (memória física);
-
SHR – indica o uso de memória compartilhada;
-
%CPU – o percentual de uso da CPU que está em uso pelo processo. Aqui vale destacara que o ordenamento de cada linha do TOP, é dado pelo percentual de CPU, do maior para o menor uso;
-
%MEM – q ual o percentual de uso de memória
-
TIME+ – o tempo de vida ou que a CPU gastou para executar o processo desde que foi iniciado;
-
COMMAND – qual o comando que gerou ou iniciou o processo.
Como usar o TOP?
Para acessar o comando top para monitorar uma conta, é necessário ter acesso SSH e fornecer as credenciais de acesso fornecidas pelo seu hosting.
Na tela de terminal, basta digitar “top”, seguido de enter, para exibir a interface.
O comando top oferece uma lista variada de opções que permitem focar em determinados dados de acordo com a necessidade do administrador.
A seguir fornecemos algumas das opções mais comuns:
-
Usuários dos processos – teclando a letra “U” e a seguir digitar o nome de um usuário, serão exibidos apenas os processos associados ao usuário especificado. Repetindo o processo e apenas apertando enter após o “U”, são exibidos novamente todos os usuários;
-
Campos – ao apertar a tecla F, são exibidos todos os campos relativos às informações que podem ser exibidas na interface. Para alterar a ordem que as colunas são exibidas, use as teclas de seta vertical até o campo em destaque e a seguir usar a seta para direita e novamente as setas verticais para mudar sua posição. A seta para esquerda, remove a seleção do campo;
-
Ordenação – é possível também mudar a ordenação de cada linha, que por padrão é %CPU. Se por exemplo, quiser que o critério de ordenação seja %MEM, seleciona-se o campo e pressiona-se “S” (sort) e aperta-se o “ESC”;
-
Ajuda – Ao pressionar a letra “H” (help), abre-se a interface de ajuda, na qual estão disponíveis uma série de opções, como a personalização, na qual é possível personalizar as cores de cada dado exibido, o que facilita a visualização das informações;
-
Localizar – apertar “L” para localizar um campo e usar “<” e “>” para mudar o posicionamento de um campo para esquerda ou direita, respectivamente;
-
Salvar personalização – é possível salvar as configurações que foram alteradas, apertando “W” (write) e um arquivo oculto de configurações é salvo em /USUARIO/.config/procps/toprc;
-
Terminar processos – ao pressionar a tecla “K” e fornecer o PID do processo, é enviado um sinal para terminar o processo correspondente;
-
Sair do top – basta pressionar a tecla “q”.
Alternativamente, pode-se executar o comando top seguido de alguns argumentos:
-
“top -d 3” – altera a atualização para 3 segundos;
-
“top -u ‘usuario’” – para exibir os processos de um usuário específico;
-
“top -n num” – exibe o número de vezes na tela as atualizações dos processos em execução e depois termina;
-
“top -p PID – monitora um determinado processo identificado pelo seu PID. Mais de um processo pode ser definido com esta opção.
Por que usar o comando TOP?
No escopo de uma conta de hospedagem, o comando top constitui uma ferramenta bastante útil para realizar alguns diagnósticos:
-
Monitoramento em tempo real – como o top atualiza a lista de processos continuamente enquanto estiver em execução, ele permite acompanhar todas as mudanças de carga do sistema ao longo do tempo, bem como todos os processos que são gerados durante os acessos ao site ou qualquer outro serviço;
-
Identificação de processos problemáticos – a possibilidade de filtrar e ordenar processos por CPU, memória, tempo de execução ou outros critérios, facilita a identificação de processos que estão consumindo muitos recursos e podem estar afetando o desempenho da conta de hospedagem;
-
Detecção de ataques – o top pode ajudar a identificar atividades suspeitas, como um grande número de conexões (ex: mySQL), excesso de processos de um serviço (ex: PHP ou exim), ou ainda processos desconhecidos, que podem indicar um ataque ou invasão em andamento;
-
Gerenciamento de recursos – ao compreender como os recursos do sistema estão sendo usados e por quais serviços, pode-se tomar decisões mais fundamentadas sobre a alocação deles e otimização do desempenho da conta de hospedagem, bem como a necessidade de alocar algum recurso, como nos planos personalizados;
-
Diagnóstico de problemas – o top é um comando a ferramenta essencial para diagnosticar as causas de problemas de desempenho, como lentidão do site, travamentos e falhas de aplicação, quando os processos consomem mais tempo do que de costume, por exemplo.
Conclusão
O top é uma ferramenta de linha de comando essencial para monitorar o uso de recursos de uma conta de hospedagem e fazer vários diagnósticos.