Como descubro qual processo está consumindo minha largura de banda? [duplicado]

156

Eu acho que estou sendo vítima de um bug aqui. Às vezes, enquanto estou trabalhando (ainda não sei por que), meu tráfego de rede sobe para 200 KB / se continua assim, mesmo que não esteja fazendo nada relacionado à Internet.

Isso às vezes acontece comigo com o uso da CPU. Quando isso acontece, apenas executo um comando top para descobrir qual processo é responsável e, em seguida, kill it. O problema é: não tenho como saber qual processo é responsável pelo meu alto uso de rede. Tanto o monitor de recursos quanto o comando top só me informam o uso total da rede, nenhum deles informa informações de rede específicas do processo.

Encontrei perguntas sobre o monitoramento do uso total de largura de banda, mas, como mencionei, não é isso que preciso. Existe outro comando que eu possa usar para descobrir qual processo está ficando fora de controle?

O comando iftop fornece resultados que discordam inteiramente das informações relatadas pelo System Monitor. Enquanto o segundo afirma que há tráfego de rede elevado, o primeiro afirma que há apenas 1 KB / s.

Eu já tentei matar todos os óbvios (Firefox, update-manager, Pidgin, etc) sem sorte. Até agora, reiniciar a máquina é a única maneira que encontrei de me livrar do problema.

    
por Malabarba 16.08.2010 / 21:22

5 respostas

187

Eu tive muito sucesso com nethogs . Ele tem que ser executado como root, mas existem maneiras diferentes de classificar as estatísticas (como KB / s ou largura de banda total monitorada desde o início dos nethogs).

Além disso, se você usar a rede sem fio, precisará passar o dispositivo para ela.

Instale-o com o comando: sudo apt-get install nethogs

Exemplo: sudo nethogs wlan0

    
por Ben 18.08.2010 / 03:47
48

Use iftop para localizar a porta TCP em sua máquina que está recebendo mais tráfego. Em seguida, use sudo netstat -tup para localizar o processo "proprietário" dessa porta.

Esse é o processo que você está procurando.

PS: Deve funcionar também para o UDP.

    
por Li Lo 16.08.2010 / 21:56
13

Você pode querer olhar para ntop - que deve monitorar a atividade de rede em um nível de processo. Você pode encontrar ntop no Centro de Software ou com sudo apt-get install ntop

Para instruções de instalação, siga a página link

    
por Marco Ceppi 16.08.2010 / 21:43
7

Outra alternativa é o iptraf. Ele não vai te mostrar o PID do processo, mas vai te dizer qual conexão usa quanta largura de banda.

    
por Dennis Kaarsemaker 16.08.2010 / 22:21
6

Resposta tardia, mas tive o mesmo problema. Acabou por ser Ubuntuone. Descobri isso executando o tcpdump. Eu passei pela mesma curva de aprendizado na identificação do processo. Minhas notas são aqui .

    
por tinker 13.09.2010 / 02:03