做外贸兼职的网站做百度推广是网站好还是阿里好
ethtool、lspci 和 iperf 是 Linux 系统中进行网络硬件查看、配置和性能测试的核心命令行工具。下面是它们的常用命令分析和总结:
核心作用总结:
lspci: 侦察兵 - 列出系统所有 PCI/PCIe 总线上的硬件设备信息,主要用于识别网卡型号、制造商、位置等物理硬件信息。ethtool: 网络医生/调音师 - 查询和配置网络接口控制器(NIC)的参数,用于诊断链路状态、查看驱动信息、统计信息、调整高级功能(如 Offload)等。iperf/iperf3: 测速仪 - 测量网络带宽和性能,通过在两个节点间建立 TCP/UDP 数据流来测试最大吞吐量、丢包率、抖动等。
一、lspci - 列出 PCI 设备
-
主要用途: 查看系统中所有通过 PCI/PCIe 总线连接的硬件设备,特别用于识别网卡。
-
常用命令:
命令 作用 说明 lspci列出所有 PCI 设备 信息较简略 lspci | grep -i ethernet过滤出所有以太网控制器 最常用!快速找到网卡 lspci -v列出所有设备详细信息 (verbose) 包含设备型号、驱动、内存映射等 lspci -vvv列出所有设备更详细信息 (very very verbose) 包含更多底层细节 lspci -s [bus:device.function]查看指定槽位设备信息 如 lspci -s 00:1f.6lspci -k列出设备信息并显示其使用的内核驱动模块 非常有用,查看网卡驱动 lspci -n显示设备的厂商和设备 ID (数字形式) 用于精准识别硬件 lspci -nn显示设备的厂商和设备 ID (数字+名称) 结合了 -n和名称显示lspci -tv以树形结构显示所有设备 显示设备间的层次关系 -
关键输出解读 (网卡相关):
Ethernet controller: 明确标识这是一个以太网控制器。Vendor:和Device:后面的 ID (如8086:15b8) 或名称 (如Intel Corporation I219-V) 标识了网卡的具体型号和制造商。Kernel driver in use:显示当前加载的驱动模块 (如e1000e,igb,ixgbe,r8169)。Kernel modules:显示该设备可用的驱动模块。Subsystem:设备子系统信息,有时包含 OEM 信息。
二、ethtool - 以太网设备工具
-
主要用途: 查询、控制网络接口驱动和硬件设置,诊断网络接口状态和配置。
-
常用命令 (以接口
eth0为例):命令 作用 说明 ethtool eth0查看接口基本摘要信息 最常用! 显示链路状态、速度、双工模式、端口类型、支持的参数等。第一眼诊断必备! ethtool -i eth0查看驱动信息 非常常用! 显示驱动名称、版本、固件版本、总线信息等。排查驱动问题必备。 ethtool -S eth0查看详细的网络统计信息 诊断丢包、错误必备! 显示收发包计数、错误计数、丢弃计数等。关注 rx/tx_errors,rx/tx_dropped,rx/tx_fifo_errors等。ethtool -k eth0查看 Offload 功能状态 显示各种硬件卸载功能 (如 TSO, GSO, GRO, LRO, RX/TX checksum) 是否启用。性能调优关键。 ethtool -K eth0 [feature] on/off启用/禁用 Offload 功能 如 ethtool -K eth0 tso off(禁用 TSO)。谨慎修改!ethtool -g eth0查看 Ring Buffer 参数 显示 RX/TX 环缓冲区当前大小和最大值。缓冲区不足可能导致丢包。 ethtool -G eth0 rx [value] tx [value]设置 Ring Buffer 大小 需要驱动支持。 如 ethtool -G eth0 rx 4096 tx 4096。优化性能/减少丢包。ethtool -a eth0查看暂停帧 (Flow Control) 设置 显示是否启用自动协商、RX/TX 暂停帧。 ethtool -A eth0 autoneg on/off rx on/off tx on/off设置暂停帧 需要协商支持。 如 ethtool -A eth0 autoneg on rx on tx on。ethtool -c eth0查看 Coalesce (中断合并) 参数 调整中断触发频率,影响 CPU 占用和延迟。 ethtool -C eth0 ...设置 Coalesce 参数 参数复杂 (如 adaptive-rx on,rx-usecs 100),需谨慎调整。ethtool -p eth0物理识别 (闪烁网口灯) 让对应网卡的指示灯闪烁,方便物理定位服务器上的网口。 ethtool -s eth0 speed [10/100/1000] duplex [half/full] autoneg [on/off]强制设置速度、双工模式 通常不推荐! 仅在自动协商失败且确认对端设置时使用。如 ethtool -s eth0 speed 1000 duplex full autoneg off。ethtool -m eth0查看模块诊断信息 (SFP/SFP+/QSFP) 显示光模块厂商、型号、序列号、波长、传输距离、告警状态等 (需网卡支持)。 -
关键输出解读 (
ethtool eth0):Link detected: yes/no: 最基础! 网线是否物理连接上?网卡是否启用?Speed: 1000Mb/s: 当前协商速率。是 10M/100M/1000M/10000M 吗?符合预期吗?Duplex: Full: 当前双工模式。必须是 Full Duplex (全双工)!Half Duplex (半双工) 会导致严重性能问题。Port: Twisted Pair/FIBRE: 连接介质类型。铜缆还是光纤?Auto-negotiation: on/off: 自动协商是否开启。
三、iperf / iperf3 - 网络性能测试工具
-
主要用途: 在两台主机之间进行主动的网络带宽测试。
iperf3是更新的版本,更推荐使用。 -
工作模式:
- 服务端 (Server): 在一台机器上运行,监听连接 (
-s)。 - 客户端 (Client): 在另一台机器上运行,连接到服务端 (
-c [server_ip]),发起测试流量。
- 服务端 (Server): 在一台机器上运行,监听连接 (
-
常用命令参数 (以
iperf3为例):参数 作用 说明 示例 服务端: iperf3 -s启动默认服务端 监听 TCP 5201 端口 iperf3 -s -p [port]指定监听端口 iperf3 -s -p 5000iperf3 -s -D以守护进程/后台模式运行 客户端: iperf3 -c [server_ip]最基本测试 客户端连接到服务端进行 TCP 测试 iperf3 -c 192.168.1.100iperf3 -c [server_ip] -t [seconds]指定测试时长 (秒) 默认 10 秒 iperf3 -c 192.168.1.100 -t 30iperf3 -c [server_ip] -P [num]指定并行连接数 测试多线程/高并发能力 iperf3 -c 192.168.1.100 -P 4iperf3 -c [server_ip] -R反向模式 (测上传) 默认客户端是发送方 (测下载)。 -R让服务端发,客户端收 (测客户端上传/服务端下载)。iperf3 -c 192.168.1.100 -Riperf3 -c [server_ip] -u -b [bandwidth]UDP 测试 -u: 使用 UDP。-b: 指定目标带宽 (如10M,1G)。测试极限带宽、丢包率、抖动。iperf3 -c 192.168.1.100 -u -b 1Giperf3 -c [server_ip] -w [size]设置 TCP 窗口大小 单位字节 (K, M)。影响 TCP 性能,特别是高延迟网络 (长肥网络)。 iperf3 -c 192.168.1.100 -w 2Miperf3 -c [server_ip] -i [interval]设置报告间隔 (秒) 默认 1 秒 iperf3 -c 192.168.1.100 -i 2iperf3 -c [server_ip] -J输出 JSON 格式结果 便于脚本解析 iperf3 -c [server_ip] -p [port]指定服务端端口 iperf3 -c 192.168.1.100 -p 5000iperf3 -c [server_ip] -B [client_ip]绑定客户端源 IP 多网卡时指定用哪个 IP 测试 iperf3 -c 192.168.1.100 -B 192.168.1.50iperf3 -c [server_ip] -Z启用 Zero Copy 可能提升性能 (需系统支持) iperf3 -c [server_ip] -T [title]设置测试标题 在报告中显示 -
关键输出解读 (TCP 测试):
[ ID] Interval Transfer Bitrate:核心结果行。Interval: 时间区间。Transfer: 在此区间内传输的数据总量。Bitrate: 平均带宽 (bits per second - bps)。Gbits/sec(Gb/s),Mbits/sec(Mb/s) 是主要关注指标。
[SUM]行:当使用-P指定多个并行连接时,会有一个 SUM 行汇总所有连接的总带宽。Sender/Receiver:指示数据流方向。
-
关键输出解读 (UDP 测试):
Jitter ms: 抖动 (延迟变化)。越小越好,实时应用 (如 VoIP, 视频会议) 非常关注。Lost/Total Datagrams: 丢包数量和总包数。Lost%: 丢包率。Bitrate: 实际达到的平均带宽 (可能低于-b指定的目标带宽,尤其是在有丢包时)。
总结与典型工作流
- 硬件识别 (What NIC do I have?):
lspci | grep -i ethernet-> 找到网卡设备名 (如00:1f.6) ->lspci -v -s 00:1f.6/lspci -k -s 00:1f.6(查看详细信息、驱动)。 - 接口状态诊断 (Is it plugged in? What speed? Any errors?):
ethtool eth0: 看 Link, Speed, Duplex, Auto-neg。ethtool -i eth0: 看驱动版本。ethtool -S eth0: 看错误、丢包统计。ethtool -k eth0: 看 Offload 设置 (如有性能问题)。
- 网络性能测试 (How fast is the link?):
- 在 Server A:
iperf3 -s -p 5000 - 在 Server B:
iperf3 -c [ServerA_IP] -p 5000 -t 30 -P 4 -i 2(测试 Server B 到 Server A 的下载/Server A 的上传) - 在 Server B:
iperf3 -c [ServerA_IP] -p 5000 -t 30 -P 4 -i 2 -R(测试 Server B 到 Server A 的上传/Server A 的下载) - (可选) 在 Server B:
iperf3 -c [ServerA_IP] -p 5000 -u -b 1G(UDP 极限测试)
- 在 Server A:
记住:
lspci告诉你硬件是什么。ethtool告诉你网卡工作状态如何、怎么配置的。iperf/iperf3告诉你网络实际跑起来有多快。
熟练掌握这三个工具,是 Linux 系统管理员和网络工程师进行网络配置、故障排查和性能调优的基础技能。
