Visualize o nic sobrecarregado no linux (hora do kernel)?

1

Eu tenho um servidor linux que continua sobrecarregando seu NIC e preciso visualizar como e por que isso está ocorrendo com base nas conexões e na utilização da CPU. Como faço isso?

Por exemplo; para eu visualizar o iowait de disco eu uso ferramentas como atop e iotop que me dizem o PID do processo e seu uso de CPU ; Usando esta informação, eu posso encontrar qual PID está sobrecarregando o servidor.

O problema é que estou com o mesmo problema com a rede e não consigo isolar e solucionar o problema b / c Não consigo encontrar quais processos estão vinculados a quais conexões (eu posso usar netstat que eu sei mas netstat não me diz o uso da CPU).

Agora que deixei isso claro, preciso monitorar o conntrack e o netfilter para uso da CPU e / ou tempo do kernel. Como eu faço isso? Ferramentas convencionais como ps , top e htop não são capazes de fazer isso. Eu fui sugerido para verificar interrupções, mas isso não parece "certo" para mim.

    
por user1529891 12.02.2013 / 04:21

2 respostas

3

A melhor maneira que eu encontrei para fazer isso é assistir a hora do kernel. Se a hora do kernel for alta, então eu vou verificar /proc/interrupts . Para depurar ainda mais, usarei perf . pktstat também é bom para visualizar o fluxo de tráfego.

collectl -stnc também é bom.

    
por 08.07.2013 / 00:48
2

Você pode usar o wireshark / ethereal / tcpdump para despejar todo o tráfego, descarregando implicitamente o tráfego que sobrecarrega o PC. Isso não dá a você informações sobre a CPU, mas informa exatamente quais portas e dados estão envolvidos, o que deve levar você diretamente ao processo envolvido.

Como acontece com todas as interações com um sistema de problemas, essa medida pode influenciar o comportamento, mas também é mais provável que resulte em uma resposta mais rápida do que uma menos precisa (IMO). Se esta medida fizer com que o sistema funcione corretamente em vez de falhar da maneira que você gostaria, você poderia usar um toque e medir usando um dispositivo externo.

Você também pode usar o 'iftop' para exibir os problemas de largura de banda, mas lembre-se que a largura de banda é de = CPU.

    
por 12.02.2013 / 07:15