目录

文章目录

  • 目录
  • ethtool -S
  • sysfs
  • /proc/net/dev

ethtool -S

查看网卡统计信息。例如:接收和发送的数据包总数,接收和发送的流量,丢弃的包数量,错误的数据包数量等。

监控这些数据比较困难。因为用命令行获取很容易,但是以上字段并没有一个统一的标准。不同的驱动,甚至同一驱动的不同版本可能字段都会有差异。

可以先粗略的查看 “drop”, “buffer”, “miss” 等字样。然后,在驱动的源码里找到对应的更新这些字段的地方,这可能是在软件层面更新的,也有可能是在硬件层面通过寄存器更新的。如果是通过硬件寄存器的方式,就得查看网卡的 data sheet(说明书),搞清楚这个寄存器代表什么。ethtoool 给出的这些字段名,有一些是有误导性的(misleading)。

sysfs

sysfs 也提供了统计信息,但相比于网卡层的统计,要更上层一些。

  • 可以获取的 ens33 的接收端数据包的类型有这些:

  • 获取接收到的数据包的总数为:

不同类型的统计分别位于 /sys/class/net/{NIC}/statistics/ 下面的不同文件,包括 collisions, rx_dropped, rx_errors, rx_missed_errors 等等。

要注意的是,每种类型代表什么意思,是由驱动来决定的,因此也是由驱动决定何时以及在哪里更新这些计数的。你可能会发现一些驱动将一些特定类型的错误归类为 drop,而另外一些驱动可能将它们归类为 miss。

这些值至关重要,因此需要查看对应的网卡驱动,搞清楚它们真正代表什么。

/proc/net/dev

/proc/net/dev 提供了更高一层的网卡统计。

这个文件里显示的统计只是 sysfs 里面的一个子集,但适合作为一个常规的统计参考。

如果对这些数据准确度要求特别高,那必须查看内核源码 、驱动源码和驱动手册,搞清楚每个字段真正代表什么意思,计数是如何以及何时被更新的。

Linux Kernel TCP/IP Stack — 网卡监控相关推荐

  1. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作

    目录 文章目录 目录 Linux bridge 的基本操作 创建 Bridge 将 veth pair 连上 Bridge 为 Bridge 配置 IP 地址 将物理网卡接口设备挂靠 Bridge L ...

  2. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架

    目录 文章目录 目录 netfilter 框架 netfilter 的组成模块 netfilter 的 Hook 机制实现 netfilter 的工作原理 规则(Rules) 链(Chains) 表( ...

  3. Linux Kernel TCP/IP Stack — L7 Layer — Application Socket I/O 接口类型

    目录 文章目录 目录 基本概念 同步与异步 阻塞与非阻塞 I/O 操作的执行流程 Socket I/O 接口类型 阻塞 IO 缺点 非阻塞 IO 缺点 阻塞 IO 与非阻塞 IO 的区别 IO 多路复 ...

  4. Linux Kernel TCP/IP Stack — L1 Layer — 多队列网卡

    目录 文章目录 目录 多队列网卡 Intel 82575 的多队列硬件实现 Intel 82575 的多队列软件驱动实现 多队列网卡识别 多队列网卡 多队列网卡,是一种用来解决网络 I/O QoS 问 ...

  5. Linux Kernel TCP/IP Stack — 协议栈收包处理流程

    目录 文章目录 目录 L2 NIC Controller 收包处理流程 L3-4 收包处理流程 Socket Layer 收包处理流程 参考文档 L2 NIC Controller 收包处理流程 硬件 ...

  6. Linux Kernel TCP/IP Stack — Overview

    目录 文章目录 目录 协议栈全景图 协议栈处理流程概览 协议栈收发包概览 协议栈的逻辑架构 协议栈的分层架构 协议栈的文件系统 协议栈的数据结构 协议栈全景图 协议栈处理流程概览 在 Linux Ke ...

  7. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — iptables NAPT 网络地址/端口转换

    目录 文章目录 目录 网络地址转换(NAT) SNAT DNAT 端口映射(PAT) 网络地址转换(NAT) IP 网络有公网与私网的区分,通常内网使用私网 IP,Internet 使用公网 IP,而 ...

  8. Linux Kernel TCP/IP Stack — L3 Layer — 路由器子系统

    目录 文章目录 目录 Linux 作为一个路由器 路由表项的类型 route 指令 ip route 指令 添加默认路由 添加静态路由 删除静态路由 操作示例 Linux Kernel 路由子系统 路 ...

  9. Linux Kernel TCP/IP Stack — L3 Layer — netfilter/iptables 防火墙

    目录 文章目录 目录 iptables/netfilter 框架 iptables-service iptables 指令应用 查看规则 添加规则 删除规则 修改规则 保存和加载规则 常规初始化配置 ...

最新文章

  1. mysql保留2位小数字段如何设置 浮点数
  2. 支付产品必懂的会计基础及如何应用
  3. linux shell带索引下标遍历数组
  4. adc采样时间_ADC采样原理
  5. Java异步非阻塞编程的几种方式
  6. 如何在java中实现线程_用代码说话:如何在Java中实现线程
  7. 笨办法学 Linux 0~3
  8. 3D视觉关键技术与核心问题包括哪些?
  9. 光学表面面形的计算机仿真,光学表面面形的计算机仿真
  10. 安卓layout布局三等分
  11. VC中的_variant_t和_bstr_t
  12. 计算机网络的作用拓展图,拓扑图介绍及相关功能
  13. win8计算机休眠的区别,win8系统的休眠和睡眠有什么区别?如何用?
  14. android 合并分区说明,Android系统手机sd卡分区后合并图文详解
  15. 常用生物信息 ID 及转换方法
  16. 我们说运营,到底是在说运营什么?
  17. 3岁孩子能力训练计划
  18. 设置 COM加载项 启动时加载(及 解决 PDFMaker 文件遗失问题)
  19. 打工人的「周游世界」,AI算法帮你实现,泪目!
  20. 黑客破解网络密码的十个方法

热门文章

  1. 如何维持手机电池寿命_一块能用百年的手机电池将诞生,你愿意花高价购买吗?...
  2. samba服务器_麒麟V10链接SAMBA服务器的方法
  3. 每隔k次反转一次 链表_leetcode 25 K个一组翻转链表(c++)
  4. 简述电子计算机的用途和特点_计算机基础试题及答案
  5. 基于增强现实和脑机接口的机械臂控制系统
  6. 菜鸟教程 php跨域,PHP Ajax 跨域问题最佳解决方案
  7. 这个新型AI电子器件没有硅!北航32岁教授共同一作,能模拟大脑神经元,还登上了Science...
  8. 12张PPT看懂中国虚拟数字人产业现状:应用不止于虚拟偶像,2030年市场达2700亿|量子位智库(附下载)...
  9. 告别学术论文恐慌!休斯顿大学教授的这个建议,让学术写作更简单
  10. TikTok在美逃过一劫,但在印度……