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


Esta questão já tem uma resposta aqui:

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, eu apenas corro um top comando para descobrir qual processo é responsável e, em seguida, kill isto. O problema é: não tenho como saber qual processo é responsável pelo meu alto uso de rede. Tanto o monitor de recursos como o top comando só me diga o meu uso total da rede, nenhum deles me diz informações de rede específicas do processo.

Eu encontrei perguntas aqui sobre o monitoramento do uso total da largura de banda, mas, como mencionei, não é isso que eu 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.


154
2017-08-16 19:22


origem




Respostas:


Eu tive muito sucesso com nethogs. Ele tem que ser executado como root, mas existem diferentes maneiras 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 o wireless, precisará passar o dispositivo para ele.

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

Exemplo: sudo nethogs wlan0


184
2017-08-18 01:47



Em uma inspeção mais próxima é realmente É chato supor que o terminal tem sempre 80 caracteres de largura e trunca o comando. - Li Lo
Já faz um tempo, mas essa resposta é consideravelmente mais simples. - Malabarba
nethogs é legal, mas parece usar caminho mais cpu no meu computador do que iftop - aidan
Esteja avisado de um bug fazendo algumas versões de nethoginutilizável: askubuntu.com/questions/726601/… - Rmano
Você não precisa passar o dispositivo se estiver usando wireless. sudo nethogs funciona bem. - Ads20000


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

Esse é o processo que você está procurando.

PS: Deve funcionar para o UDP também.


47
2017-08-16 19:56



Obrigado, o comando parece funcionar, mas estou obtendo resultados estranhos. O monitor do sistema reivindica um total de cerca de 180KB / s, enquanto iftop alega um total de apenas 1 kilobyte por segundo. - Malabarba
Estou aceitando a resposta, pois responde à pergunta original. Mas eu vou ser legal se eu puder descobrir o que está acontecendo aqui. - Malabarba
O iptop exibe estatísticas para uma única interface. Não tenho certeza se o monitor do sistema examina apenas uma interface ou todas elas. Se for esse o caso, haverá tráfego mostrado pelo monitor do Sistema, mas não mostrado pelo iftop, o que é OK, porque você só quer ver sua interface de internet de qualquer maneira (e não o lo). Acabei de testar o iftop no meu sistema e ele mostrou o que eu esperava. Esteja ciente, entretanto, de que iftop exibe médias acima de 2s, 10s, 40s respectivamente. Eu corri iftop como 'sudo iftop -i eth0 -nPB', como você executou isso? - Li Lo
Eu corri como sudo iftop -B -i eth0, isso significa que estava apenas olhando para o meu tráfego de internet, certo? Não me ocorreu que o monitor do sistema possa estar verificando outras interfaces também. Ironicamente, o problema desapareceu 10 minutos atrás (depois de muitas horas), então não posso verificar iftop novamente por agora. O que a interface lo significa? - Malabarba
Como há muitos números na tela do iftop, criei uma captura de tela na qual destaquei o número em que você está interessado. Compare isso com o monitor do sistema. A captura de tela está em imgur.com/2iuiI . "lo" significa localhost, é uma interface através da qual os programas locais podem se comunicar uns com os outros. - Li Lo


Você pode querer olhar para ntop - que deve monitorar a atividade da 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 sua página http://packages.ntop.org/


13
2017-08-16 19:43



não disponível com o Ubuntu 17.04 (zesty) - shadi


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.


7
2017-08-16 20:21





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.


6
2017-09-13 00:03