Respostas:
Você pode experimentar o NetHogs .
O NetHogs é uma pequena ferramenta 'net top'. Em vez de dividir o tráfego por protocolo ou sub-rede, como a maioria das ferramentas, agrupa a largura de banda por processo . O NetHogs não depende de um módulo de kernel especial para ser carregado. Se de repente houver muito tráfego de rede, você poderá ativar o NetHogs e ver imediatamente qual PID está causando isso. Isso facilita a identificação de programas que foram malucos e estão subitamente ocupando sua largura de banda.
sudo nethogs -p eth2
. Você deve especificar sua ethernet se não for eth0 por padrão.
Existem alguns listados aqui .
Meus favoritos, no entanto, permanecem iftop e tcpdump . O Wireshark também é uma opção muito boa.
Tente atop
... para tirar o máximo proveito disso, talvez seja necessário ativar alguns patches adicionais do kernel (patches de contabilidade de E / S).
Se atop
não for uma opção, use netstat -anp --inet
(como root) para fornecer uma lista de quais portas TCP / UDP estão sendo usadas por quais processos (ou possivelmente lsof
para isso). A partir daí, basta percorrer cada processo que possui um soquete aberto e anexá-lo usando ltrace -S
ou strace
para olhar para as leituras, gravações, envios e recebimentos ou use tcpdump
com um filtro que especifique o (s) seu (s) endereço (s) IP (s) local (is) e as portas TCP / UDP que foram listados.
atop
é certamente o mais conveniente deles ... se você o tiver e o suporte necessário ao kernel instalado. No passado, clientes e empregadores configuraram sistemas especiais (diferentes das imagens de produção) com o único objetivo de oferecer suporte ao perfil de E / S usando atop
. No entanto, essas outras técnicas o levarão até lá.
Tenho certeza de que também poderíamos fazer algo usando o SystemTap ... mas não conheço nenhuma receita pré-cozida fácil para fazer isso. O SystemTap é uma ferramenta de análise de programação.
netstat -anp --inet
e verificar o Recv-Q
e Send-Q
colunas