我对每个进程的网络 I/O 计数器感兴趣,例如 中的计数器,/proc/net/dev
并找到了我认为的内容/proc/<pid>
,即/proc/<pid>/net/dev
。但这似乎太容易了,因为它们包含与系统相同的计数器。
如果我在系统之间进行比较,<pid>
我会得到相同的计数器*。所以这让我想知道它应该代表什么?或者这只是/proc/net/dev
通过设置权限/proc/net/<pid>/dev
而不是全局权限来允许特定进程读取的一种方法?
man proc
没有记录这一点,也没有http://man7.org/linux/man-pages/man5/proc.5.html
发行版:CentOS 7.1 带内核3.10.0-229.el7.x86_64
*diff <(cat /proc/<pid>/net/dev) <(cat /proc/net/dev)
答案1
/proc/net/dev
包含网络接口的统计信息, while/proc/<pid>/net/dev
包含网络接口的统计信息从过程的角度。
我想如果一个进程在网络命名空间(请参阅 参考资料man ip-netns
)上运行,并且它只能访问一组有限的接口,那么只有这些接口会显示在/proc/<pid>/net/dev
.