200.1 Medir e Resolver problemas do uso de Recursos
Antes de começar, precisamos instalar alguns pacotes para que possamos executar as ferramentas necessárias:
# Instalando os pacotes necessários (para Redhat os nomes são os mesmos):
sudo apt install sysstat net-tools -y
IOSTAT
É uma ferramenta usada para monitorar o desempenho do sistema, focando principalmente em entrada/saída (I/O) de dispositivos de armazenamento e no uso da CPU. Ele exibe estatísticas sobre a atividade de discos, dispositivos de bloco e processadores, ajudando a identificar gargalos de desempenho relacionados a disco e CPU.
| Opção | Descrição |
|---|---|
| -m | Mostra em Mega. |
| -h | Mostra no formato "humano". |
| -c | Mostra somente dados de CPU. |
| -d | Mostra somente dados de Disco. |
| -p | Mostra as partições. |
| \<numero> | Gera um relatório de tempos em tempos, o número fornecido é o tempo em segundos. |
Vamos ver na prática:
# Usando 'iostat' sem argumento:
$ iostat
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/13/21 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
13.01 1.12 9.20 3.77 1.45 71.46
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
loop0 0.03 0.03 0.00 0.00 1 0 0
vda 556.62 12740.52 3138.74 3417148.78 471654 116196 126502848
%user= Percentual de tempo em que a CPU esteve executando processos em espaço de usuário (user space), exceto processos com nice. É o uso da CPU durante o intervalo de medição, exceto na primeira linha da saída do iostat, exibe desde o boot.%nice= Percentual de tempo em que a CPU esteve executando processos em espaço de usuário com prioridade alterada via nice (valores positivos). É o uso da CPU por processos com prioridade reduzida.%system= Percentual de tempo em que a CPU esteve executando código no espaço do kernel. Indica uso da CPU por chamadas de sistema, drivers, e outras operações em modo kernel.%iowait= Percentual de tempo em que a CPU esteve ociosa aguardando a conclusão de operações de entrada/saída (I/O) de dispositivos de bloco, como discos. Valores elevados podem indicar gargalos de I/O impactando a performance geral.%steal= Percentual de tempo em que a CPU virtual ficou aguardando recursos da CPU física, geralmente em ambientes virtualizados. Indica que o hypervisor estava ocupado com outras VMs e não pôde entregar ciclos de CPU à VM analisada.
# Usando o modo humano mais as partições:
$ iostat -hp
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/13/21 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.6% 0.1% 0.5% 0.2% 0.1% 98.5%
tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd Device
0.00 0.0k 0.0k 0.0k 1.0k 0.0k 0.0k loop0
27.56 614.6k 215.4k 160.9M 460.7M 161.5M 120.6G vda
0.26 7.2k 0.2k 342.1k 5.4M 132.0k 256.4M vda1
0.12 4.4k 0.0k 0.0k 3.3M 0.0k 0.0k vda2
26.89 600.1k 215.2k 160.6M 449.9M 161.3M 120.4G vda3
tps= Número de transações por segundo enviadas ao dispositivo. Cada transação é uma operação de I/O, leitura ou escrita. Não representa IOPS reais com precisão (pois uma "transação" pode agrupar múltiplos blocos), mas serve como indicador geral da carga sobre o disco. Portanto, quandoTPS = 26.14, isso significa que o dispositivo executou em média 26,14 operações de I/O por segundo (leitura e/ou gravação).kB_read/s= Quantidade de kilobytes lidos por segundo do dispositivo durante o intervalo medido. Representa o throughput de leitura. Valores altos indicam processos consumindo dados do disco ou carregando arquivos intensamente.kB_wrtn/s= Quantidade de kilobytes gravados por segundo no dispositivo de bloco. Representa o throughput de escrita, ou seja, o volume de dados que está sendo efetivamente enviado para gravação em disco.kB_dscd/s= Quantidade de dados descartados por segundo no dispositivo de bloco. Representa o volume de dados que o sistema notificou ao dispositivo como "descartáveis" (por exemplo, via operações de discard/TRIM). Valores diferentes de zero podem indicar que o sistema ou aplicações estão liberando blocos de dados, por exemplo, após exclusões de arquivos, desativação de volumes, operações de limpeza. Em SSDs, isso geralmente está associado a comandos TRIM ou de descarte.kB_read= Total de kilobytes lidos pelo dispositivo desde o início da medição (ou desde boot, caso seja a primeira linha). Representa o acumulado de leituras. Útil para comparar períodos longos.kB_wrtn= Total de kilobytes gravados pelo dispositivo desde o início da medição. Permite visualizar o volume total de escrita, importante para SSDs (desgaste, write amplification, etc.).kB_dscd= Total de kilobytes descartados pelo dispositivo desde o início da medição. Fundamental para entender como o sistema usa TRIM/discard em SSDs ou LVM com thin provisioning.Device= Nome do dispositivo de bloco monitorado (ex.:sda,nvme0n1,dm-0). Identifica qual disco físico ou lógico corresponde aos valores exibidos.
# Gerando um relatório a cada 1 segundo por até 3 vezes:
$ iostat -c 1 3
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/13/21 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.04 0.39 0.17 0.08 98.81
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
VMSTAT
Semelhante ao iostat, mas exibe um pouco diferente.
| Opção | Descrição |
|---|---|
| -d | Mostra os dispositivos. |
| -p \<partição> | Mostra uma partição específica. |
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 512 2696788 194808 15319484 0 0 108 570 446 645 8 6 85 1 0
# r (ready) = Número de processos em estado de run queue (prontos para executar, mas aguardando tempo de CPU). Valores consistentemente altos podem indicar sobrecarga da CPU.
# b (block) = Número de processos em estado ininterruptível (geralmente esperando operações de I/O de disco ou rede). Valores elevados indicam possíveis gargalos de I/O.
memory
Exibe dados da memória.- swpd: Quantidade de memória swap em uso (em KB).
- free: Memória fisicamente livre (em KB), ou seja, não utilizada por processos, buffers ou caches. Sozinha, essa métrica pode ser enganosa para avaliar a disponibilidade de RAM no Linux.
- buff: Memória usada para buffers de blocos (principalmente metadados de disco e blocos em trânsito para escrita).
- cache: Memória usada para armazenar dados de arquivos recentemente acessados (page cache). É liberada pelo kernel quando necessário.
swap
- si: É o Swap in, quantidade de KB/s lidos do disco (swap) para a RAM.
- so: É o Swap out, quantidade de KB/s gravados da RAM para o disco (swap).
io
- bi: É o Blocks in, quantidade de blocos lidos do disco por segundo.
- bo: É o Blocks out, quantidade de blocos gravados no disco por segundo.
system
- in: É o número de interrupções por segundo.
- cs: É o número de trocas de contexto por segundo.
cpu
- us: É a porcentagem de tempo executando código em espaço de usuário.
- sy: É a porcentagem de tempo executando código em espaço do kernel.
- id: É a porcentagem de tempo ocioso (CPU sem tarefas).
- wa: É a porcentagem de tempo esperando I/O de disco ou rede.
- st: É a porcentagem de tempo que a CPU foi "roubada" por outros VMs no hypervisor.
# Verificando apenas dispositivos:
~$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
loop0 1 0 2 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
vda 13568 7084 944812 11341 1647 3654 332952 18634 0 9
# Vendo apenas de um único device:
$ vmstat -p /dev/vda3
vda3 reads read sectors writes requested writes
13227 922866 1553 333384
MPSTAT
Também é bem similar aos comandos acima:
$ mpstat
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/13/21 _x86_64_ (2 CPU)
20:24:14 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
20:24:14 all 0.36 0.03 0.27 0.12 0.00 0.01 0.07 0.00 0.00 99.15
# 20:24:14 = Hora realizado o comando.
SAR - System Activity Reporter
O SAR é uma ferramenta usada para monitorar a atividade do sistema em intervalos regulares. Ele coleta e exibe uma ampla gama de estatísticas relacionadas à performance, como uso da CPU, memória, swap, I/O de disco, rede e muito mais. Ao contrário de ferramentas como top ou vmstat, o sar é projetado para coleta e análise de dados a longo prazo, permitindo identificar tendências e possíveis gargalos ao longo do tempo. Caso você não tenha ele instalado, instale-o, ele fica no pacote sysstat.
O sar usa os dados armazenados em /var/log/sa/ (para distros baseadas em Debian) pelo sadc.
| Opção | Descrição |
|---|---|
| -l (L) \<log_file> | Mostra os logs de um outro dia. |
| -u | Mostra informações de CPU (igual rodar sem argumento). |
| -r | Mostra a informação relacionadas a memória. |
| -S | Mostra a informação de swap. |
| -n DEV | Mostra dados das interfaces de rede. |
| -d | Mostra I/O de disco. |
| -b | Mostra o desempenho de leitura e gravação de disco |
| -B | Dados de paginação de memória. |
$ sudo sar
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/19/21 _x86_64_ (2 CPU)
20:32:44 LINUX RESTART (2 CPU)
20:35:01 CPU %user %nice %system %iowait %steal %idle
20:45:01 all 0.05 0.00 0.04 0.01 0.02 99.88
20:55:01 all 0.02 0.00 0.04 0.01 0.02 99.92
21:05:01 all 0.03 0.00 0.03 0.00 0.02 99.92
21:15:01 all 0.02 0.00 0.02 0.00 0.01 99.95
Average: all 0.03 0.00 0.03 0.01 0.02 99.92
# Verificando os logs de outro dia:
$ sudo sar -f /var/log/sysstat/sa02
Linux 5.4.0-42-generic (ubuntu2004.localdomain) 04/02/21 _x86_64_ (2 CPU)
12:47:08 LINUX RESTART (2 CPU)
12:48:30 LINUX RESTART (2 CPU)
12:55:01 CPU %user %nice %system %iowait %steal %idle
13:05:01 all 7.01 0.00 46.80 0.14 0.02 46.02
Average: all 7.01 0.00 46.80 0.14 0.02 46.02
# Outro dia:
$ sudo sar -f /var/log/sysstat/sa13
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/13/21 _x86_64_ (2 CPU)
20:00:12 LINUX RESTART (2 CPU)
20:05:01 CPU %user %nice %system %iowait %steal %idle
20:15:01 all 0.01 0.00 0.03 0.01 0.03 99.91
20:25:01 all 0.03 0.00 0.06 0.01 0.04 99.86
Average: all 0.02 0.00 0.05 0.01 0.04 99.88
# Dados de memória:
$ sudo sar -r
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/19/21 _x86_64_ (2 CPU)
20:32:44 LINUX RESTART (2 CPU)
20:35:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
20:45:01 1589284 1748808 79128 3.89 60872 210648 225164 5.58 178420 133408 172
20:55:01 1587684 1747528 80224 3.94 60984 210792 225240 5.58 179804 132620 172
21:05:01 1585672 1745588 81864 4.02 61028 210808 227412 5.64 182428 131520 0
21:15:01 1585680 1745640 81840 4.02 61068 210812 225648 5.59 182484 131512 0
21:25:01 1587452 1747488 79948 3.93 61132 210816 227616 5.64 181224 131500 172
21:35:01 1587112 1747248 80096 3.94 61200 210844 221476 5.49 181216 131512 172
21:45:01 1587388 1747572 79788 3.92 61248 210836 221848 5.50 181300 131508 168
Average: 1587182 1747125 80413 3.95 61076 210794 224915 5.57 180982 131940 122
# Vendo o swap:
$ sudo sar -S
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/19/21 _x86_64_ (2 CPU)
20:32:44 LINUX RESTART (2 CPU)
20:35:01 kbswpfree kbswpused %swpused kbswpcad %swpcad
20:45:01 1999868 0 0.00 0 0.00
20:55:01 1999868 0 0.00 0 0.00
21:05:01 1999868 0 0.00 0 0.00
21:15:01 1999868 0 0.00 0 0.00
21:25:01 1999868 0 0.00 0 0.00
21:35:01 1999868 0 0.00 0 0.00
21:45:01 1999868 0 0.00 0 0.00
Average: 1999868 0 0.00 0 0.00
# Vendo dados das interfaces de rede:
$ sudo sar -n DEV
# Removi a interface loopback da saída abaixo.
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/19/21 _x86_64_ (2 CPU)
20:32:44 LINUX RESTART (2 CPU)
20:35:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
20:45:01 eth0 0.93 0.20 0.06 0.03 0.00 0.00 0.00 0.00
20:55:01 eth0 0.67 0.12 0.04 0.01 0.00 0.00 0.00 0.00
21:05:01 eth0 1.31 0.72 0.08 0.08 0.00 0.00 0.00 0.00
21:15:01 eth0 0.70 0.20 0.04 0.02 0.00 0.00 0.00 0.00
21:25:01 eth0 0.86 0.27 0.05 0.03 0.00 0.00 0.00 0.00
21:35:01 eth0 0.83 0.20 0.05 0.02 0.00 0.00 0.00 0.00
21:45:01 eth0 0.70 0.12 0.04 0.01 0.00 0.00 0.00 0.00
Average: eth0 0.86 0.26 0.05 0.03 0.00 0.00 0.00 0.00
# Vendo I/O de disco:
$ sudo sar -d
Linux 5.4.0-70-generic (ubuntu2004.localdomain) 07/19/21 _x86_64_ (2 CPU)
20:32:44 LINUX RESTART (2 CPU)
20:35:01 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util
20:45:01 dev252-0 0.66 5.96 2.89 0.00 13.34 0.00 0.83 0.06
20:55:01 dev252-0 0.32 0.25 1.78 0.00 6.29 0.00 1.07 0.04
21:05:01 dev252-0 0.12 0.01 0.69 0.00 6.06 0.00 1.99 0.02
21:15:01 dev252-0 0.10 0.01 0.59 0.00 5.74 0.00 1.15 0.01
21:25:01 dev252-0 0.20 0.01 1.10 0.00 5.61 0.00 1.04 0.02
21:35:01 dev252-0 0.13 0.05 0.69 0.00 5.62 0.00 1.41 0.02
21:45:01 dev252-0 0.11 0.00 0.62 0.00 5.72 0.00 1.58 0.01
21:55:01 dev252-0 0.13 0.40 0.75 0.00 8.54 0.00 1.91 0.02
22:05:01 dev252-0 0.10 0.00 0.60 0.00 5.90 0.00 1.16 0.01
22:15:01 dev252-0 0.10 0.00 0.56 0.00 5.79 0.00 0.83 0.01
Average: dev252-0 0.20 0.67 1.03 0.00 8.58 0.00 1.15 0.02
# O dev252-0 onde 252-0 é o Major.
# O número MAJOR corresponde ao tipo de dispositivo (ou driver) e pode ser encontrado em /proc/devices. Sendo 8 para sd (3 corresponde a IDE), 252 para virtblk entre outros. O número principal determina o driver de dispositivo a ser usado com este dispositivo.
Ativar ele no Debian
Se não estiver funcionando, verifique o arquivo abaixo:
$ cat /etc/default/sysstat
#### Ele deve estar com a variável 'ENABLED="true"'.
# Verifique também se o serviço está rodando:
$ sudo systemctl status sysstat.service
● sysstat.service - Resets System Activity Data Collector
Loaded: loaded (/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2021-07-19 20:32:44 UTC; 18min ago
Docs: man:sa1(8)
man:sadc(8)
man:sar(1)
Process: 551 ExecStart=/usr/lib/sysstat/debian-sa1 --boot (code=exited, status=0/SUCCESS)
Main PID: 551 (code=exited, status=0/SUCCESS)
Jul 19 20:32:44 ubuntu2004.localdomain systemd[1]: Starting Resets System Activity Data Collector...
Jul 19 20:32:44 ubuntu2004.localdomain systemd[1]: Finished Resets System Activity Data Collector.
# Ative o serviço no Boot:
$ sudo systemctl enable sysstat.service
# Inicie o serviço:
$ sudo systemctl start sysstat.service
Ele consegue coletar informações porque é executado via Cron, já no CentOS 8 (e equivalentes), o agendamento das execuções dos processos do sysstat passou a ser feito através do systemd-timer ao invés da crontab.
# No Ubuntu 20.04:
$ cat /etc/cron.d/sysstat
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
SADC - System Activity Data Collector
O SADC é o componente responsável pela coleta de dados de atividade do sistema. Ele atua como o "cérebro" do sistema de monitoramento, sendo a parte que efetivamente coleta e grava as estatísticas sobre a performance do sistema, como CPU, memória, I/O, rede, e muito mais. No entanto, o SADC não trabalha sozinho: ele depende de outros dois componentes para realizar suas funções de forma eficaz.
O Crond é o daemon responsável por agendar e executar tarefas em segundo plano, como a coleta periódica de dados de desempenho. Ele é configurado para chamar o sadc em intervalos regulares (geralmente a cada 10 minutos) por meio de jobs cron. Esses agendamentos são definidos em arquivos de configuração do cron, geralmente localizados em /etc/cron.d/sysstat.
O sar é o componente que lê e apresenta os dados coletados pelo SADC, sendo o segundo componente.
SA1
O sa1 é um script auxiliar do SADC que executa a coleta de dados de desempenho do sistema e os armazena em arquivos binários. Esses dados são utilizados posteriormente pelo sar para gerar relatórios e análises detalhadas. O sa1 coleta métricas como uso de CPU, memória, I/O, rede, entre outros, e grava esses dados no diretório de logs apropriado. Os dados são armazenados no diretório /var/log/sa/ para distros padrão Redhat e em /var/log/sysstat/ para padrão Debian.
SA2
O sa2 é outro script auxiliar do SADC que tem a função de gerar um resumo diário com base nos dados coletados pelo sa1. Esse resumo contém uma visão geral da performance do sistema ao longo do dia, oferecendo uma síntese dos dados que foram coletados em intervalos curtos. O sa2 é geralmente executado uma vez por dia via cron, e ele processa os arquivos binários criados pelo sa1, condensando-os em um relatório de fácil análise.
LOGS
No padrão Debian, os logs ficam em /var/log/sysstat/ já no padrão Redhat, os logs ficam em /var/log/sa/.
SAR
Analisa e exibe relatórios dos dados coletados pelosadc, permitindo monitorar a performance do sistema.SADC
Coleta dados de desempenho do sistema diretamente do kernel e grava em arquivos binários.SA1
É um script que chama o SADC em intervalos regulares para realizar a coleta de dados e armazená-los em arquivos binários para análise futura.SA2
Gera resumos diários dos dados coletados pelosa1.
NETSTAT
Usado para obter informações de Rede como conexões de rede, tabelas de roteamento, estatística de interfaces entre outros. Se usado sem argumento mostrará todas as conexões estabelecidas e sockets.
| Opção | Descrição |
|---|---|
| -i | Exibe as estatística de todas as interfaces. |
| -s | Exibe as estatística por protocolo. |
| -a | Exibe as estatística de todos os sockets. |
| -t | Filtra para pesquisas mostrando apenas TCP. |
| -u | Filtra para pesquisas mostrando apenas UDP. |
| -l (L) | Exibe as conexões que estão em LISTEN (OUVINDO). |
# Exibindo as estatísticas:
$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 569 0 124 0 405 0 0 0 BMRU
lo 65536 134 0 0 0 134 0 0 0 LRU
# Exibindo por protocolo (não vou colocar a saída toda!):
$ netstat -s
Ip:
Forwarding: 2
571 total packets received
4 with invalid addresses
0 forwarded
0 incoming packets discarded
566 incoming packets delivered
542 requests sent out
2 outgoing packets dropped
Icmp:
4 ICMP messages received
0 input ICMP message failed
ICMP input histogram:
destination unreachable: 4
9 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 9
# Exibindo por sockets (não vou colocar a saída toda!):
$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 lpic2:ssh _gateway:32874 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:* LISTEN
udp 0 0 localhost:domain 0.0.0.0:*
udp 0 0 lpic2:bootpc 0.0.0.0:*
raw6 0 0 [::]:ipv6-icmp [::]:* 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 19845 /run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 19848 /run/snapd.socket
unix 2 [ ACC ] STREAM LISTENING 19850 /run/snapd-snap.socket
unix 2 [ ACC ] SEQPACKET LISTENING 16451 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 19852 /run/uuidd/request
unix 2 [ ] DGRAM 25851 /run/user/1000/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 25854 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 16420 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 25859 /run/user/1000/bus
unix 2 [ ACC ] STREAM LISTENING 16422 /run/systemd/userdb/io.systemd.DynamicUser
unix 2 [ ACC ] STREAM LISTENING 25860 /run/user/1000/gnupg/S.dirmngr
unix 2 [ ACC ] STREAM LISTENING 25861 /run/user/1000/gnupg/S.gpg-agent.browser
unix 2 [ ACC ] STREAM LISTENING 25863 /run/user/1000/gnupg/S.gpg-agent.extra
unix 2 [ ACC ] STREAM LISTENING 16433 @/org/kernel/linux/storage/multipathd
unix 2 [ ACC ] STREAM LISTENING 25866 /run/user/1000/gnupg/S.gpg-agent.ssh
unix 2 [ ACC ] STREAM LISTENING 16431 /run/lvm/lvmpolld.socket
SS
IPTRAF
Exibe informações de rede em tempo real, permitindo a criação de filtro enquanto se vê os pacotes trafegando. A interação com programa é feito através de um menu exibido através da cli.
Instale o iptraf com o comando abaixo.
$ sudo apt install iptraf
Processos
Veja uma documentação dos processos que foi elaboradas para a LPIC-1.
HTOP
Essa ferramenta é uma variante do top, utilizando algumas informações mais visuais para facilitar a identificação de informações. Para usá-la é necessário instalar.
$ sudo apt install htop
IOTOP
O iotop é uma ferramenta de monitoramento no Linux usada para exibir o uso de I/O de disco por processos ou threads, semelhante ao top, mas focado na atividade de entrada/saída (I/O). Ele ajuda a identificar quais processos estão consumindo mais recursos de I/O em tempo real, sendo útil para diagnosticar problemas de desempenho relacionados ao disco. Para usar o iotop é necessário instalar.
$ sudo apt install iotop
Apesar de obter informações de teclado e mouse porque eles usam Input/Output (somente input), eles não vão consumir CPU, mesmo que sejam em grande escala, são operações muito simples, nesse caso, usamos o
iotopmais para ver discos e outros devices que possam estar consumindo toda ou boa parte da CPU.
Principais colunas:
PID
ID do processo.USER
Usuário que executa o processo.DISK READ
Quantidade de dados lidos do disco por processo.DISK WRITE
Quantidade de dados escritos no disco.SWAPIN
Percentual de tempo que o processo passa esperando swap (memória virtual).IO
Percentual de uso total de I/O pelo processo.