it-swarm-eu.dev

C'è un modo per scoprire quale applicazione in Linux?

Sto cercando un'utilità che possa mostrarmi quanta larghezza di banda usi ogni processo. Dovrebbe solo stampare i dati ed uscire come voglio alimentare quell'elenco in conky.

56
vava

Puoi provare NetHogs .

NetHogs è un piccolo strumento 'top net'. Invece di interrompere il traffico verso il basso per protocollo o per sottorete, come fa la maggior parte degli strumenti, raggruppa la larghezza di banda per processo . NetHogs non si basa su uno speciale modulo del kernel da caricare. Se c'è improvvisamente un sacco di traffico di rete, è possibile avviare NetHogs e vedere immediatamente quale PID sta causando questo. Ciò semplifica l'identificazione di programmi che si sono scatenati e stanno improvvisamente occupando la larghezza di banda.

NetHogs_Screenshot

71
Milde

Ne sono elencati alcuni qui .

I miei preferiti rimangono comunque iftop e tcpdump . Wireshark è anche un'ottima opzione.

6
BinaryMisfit

Prova atop ... per ottenere il massimo da esso potresti dover abilitare alcune patch del kernel aggiuntive (patch di contabilità I/O).

Se atop non è un'opzione, utilizzare netstat -anp --inet (come root) per fornire un elenco di quali porte TCP/UDP sono utilizzate da quali processi (o eventualmente utilizzare lsof per quello). Da lì semplicemente itera su ogni processo che ha un socket aperto e collegalo usando ltrace -S o strace per guardare le letture, le scritture, le mandate e le ricezioni, o usa tcpdump con un filtro che specifica il tuo indirizzo IP locale e il TCP/Porte UDP elencate.

atop è sicuramente il più conveniente tra questi ... se lo avete e il necessario supporto per il kernel installato. In passato avevo clienti e datori di lavoro che creavano sistemi speciali (diversi dalle loro immagini di produzione) al solo scopo di supportare la profilazione degli I/O usando atop. Tuttavia queste altre tecniche ti porteranno lì.

Sono sicuro che potremmo anche fare qualcosa usando SystemTap ... ma non conosco ricette facili precotte per farlo. SystemTap è uno strumento di analisi della programmazione.

5
Jim Dennis