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?
5
A
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.)
+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
Avete dato un'occhiata a come iftop è implementato? – user2079303
No, non l'ho fatto. Bene, è una buona idea imparare dai codici sorgente. Grazie! – Jenson
Puoi persino ottenere un IO di rete di processo (su un kernel vanilla)? – zerkms