2016-05-30 10 views
5

Attualmente sto sviluppando un'applicazione in Linux che ha bisogno di classificare alcuni processi come I/O di rete o legati alla memoria in fase di esecuzione. Invece di utilizzare alcuni strumenti come iotop, ho bisogno di identificare se un processo è legato all'I/O di rete o meno nel mio codice. Ho provato a utilizzare le informazioni disponibili tramite /proc, ma non riesco a trovare le statistiche di I/O di rete lì. Quindi, ci sono altri modi in cui posso ottenere le statistiche I/O di rete di un processo? Qualsiasi aiuto sarebbe molto apprezzato!In Linux, come classificare un processo come legato all'I/O o alla memoria associata al runtime?

+0

Avete dato un'occhiata a come iftop è implementato? – user2079303

+0

No, non l'ho fatto. Bene, è una buona idea imparare dai codici sorgente. Grazie! – Jenson

+0

Puoi persino ottenere un IO di rete di processo (su un kernel vanilla)? – zerkms

risposta

1

Provare a cat /proc/pid/io a una certa frequenza.

E byte di scrittura/lettura delta indicano se il pid è vincolato all'I/O. (Naturalmente secondo il proprio punto di riferimento.)

link to similar question

+0

Serbatoi per la tua risposta! Ma secondo [link] (http://man7.org/linux/man-pages/man5/proc.5.html), il file **/proc/pid/io ** contiene le statistiche di I/O del disco per il processo, non le statistiche I/O di rete. – Jenson

Problemi correlati