一、ethtool
用来查看和设置网卡参数。这个工具其实本身只是提供几个通用接口,真正的实现是都是在网卡驱动中的。
-
-i
显示网卡驱动的信息,如驱动的名称、版本等 -
-S
查看网卡收发包的统计情况 -
-g/-G
查看或者修改RingBuffer的大小 -
-l/-L
查看或者修改网卡队列数 -
-c/-C
查看或者修改硬中断合并策略
二、ifconfig
$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.162.42.51 netmask 255.255.248.0 broadcast 10.162.47.255 inet6 fe80::6e0b:84ff:fed5:88d1 prefixlen 64 scopeid 0x20<link> ether 6c:0b:84:d5:88:d1 txqueuelen 1000 (Ethernet) RX packets 2953454 bytes 414212810 (395.0 MiB) RX errors 0 dropped 4636605 overruns 0 frame 0 TX packets 127887 bytes 82943405 (79.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
RX packets:接收的总包数
-
RX bytes:接收的字节数
-
RX errors:表示总的收包的错误数量
-
RX dropped:数据包已经进入了 Ring Buffer,但是由于其它原因导致的丢包
-
RX overruns:表示了 fifo 的 overruns,这是由于 Ring Buffer不足导致的丢包
三、伪文件系统/proc
Linux 内核提供了 /proc 伪文件系统,通过/proc可以查看内核内部数据结构、改变内核设置。
-
/proc/sys
目录可以查看或修改内核参数 -
/proc/cpuinfo
可以查看CPU信息 -
/proc/meminfo
可以查看内存信息 -
/proc/interrupts
统计所有的硬中断 -
/proc/softirqs
统计的所有的软中断信息 -
/proc/slabinfo
统计了内核数据结构的slab内存使用情况 -
/proc/net/dev
可以看到一些网卡统计数据
通过/proc/net/dev可以看到内核中对网卡的一些相关统计。包含了以下信息:
-
bytes: 发送或接收的数据的总字节数
-
packets: 接口发送或接收的数据包总数
-
errs: 由设备驱动程序检测到的发送或接收错误的总数
-
drop: 设备驱动程序丢弃的数据包总数
-
fifo: FIFO缓冲区错误的数量
-
frame: The number of packet framing errors.(分组帧错误的数量)
-
colls: 接口上检测到的冲突数
为了后面方便查找