之前介绍过ifstat获取网络流量监控的代码ifstat源码阅读,ifstat获取数据是读取的/proc/net/dev,但是/proc/net/dev文件里面究竟是什么内容,打开发现一团乱麻。
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed enp4s0f0: 1016843808275 785930027 0 0 0 0 0 277 90264164043 122170566 0 0 0 0 0 0 enp4s0f1: 1014419664030 783045637 0 0 0 0 0 278 89830773517 121895455 0 0 0 0 0 0 bond0: 4060745839700 3135036879 0 0 0 0 0 1110 358739924839 487198781 0 0 0 0 0 0 lo: 89516432 550759 0 0 0 0 0 0 89516432 550759 0 0 0 0 0 0 ens2f0: 1014366624200 783438873 0 0 0 0 0 277 89056520490 121395318 0 0 0 0 0 0 ens3f0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ens2f1: 1015115754355 782622497 0 0 0 0 0 278 89588466789 121737442 0 0 0 0 0 0 ens3f1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
稍微整理一下。
这样看来就清晰多了,统计的时候就会根据Receive的bytes数值以及Transmit数值来计算了,这里有两个博客从内核代码层面介绍了这个文件的更详细的内容,以及数据的获取计算方法:
https://blog.csdn.net/zouchun2016/article/details/76036643点击打开链接
http://blog.sina.com.cn/s/blog_772ee6f30100umlg.html点击打开链接
上述内容名词解释如下表: