Get-NetAdapterStatistics 网卡统计
Get-NetAdapterStatistics 读取网卡的收发字节、丢弃与错误计数,是判断「问题出在网卡层还是应用层」的轻量工具。它的计数是累计值,单次查看没有意义:间隔采样做差才能算出速率,而丢弃计数持续增长通常说明驱动、虚拟交换或安全软件钩子存在丢包。
基本信息
| 适用平台 | Windows 8 / Server 2012 以上 PowerShell |
|---|---|
| 语法 | Get-NetAdapterStatistics [-Name 网卡名] |
| 关键字段 | ReceivedBytes/SentBytes、ReceivedDiscardedPackets、ReceivedPacketErrors |
| 配合命令 | Get-NetAdapter、Get-NetTCPConnection |
| 使用要点 | 间隔两次采样做差才有意义 |
典型使用场景
- 判断网卡是否存在丢包与错误,缩小问题范围
- 对比两次采样的字节数,估算真实吞吐
- 虚拟化环境里确认虚拟网卡丢包是否来自宿主机侧
- 排查安全软件或抓包钩子造成的丢包
- 做容量评估时观察网卡流量的长期增长速度
- 应用报连接超时时,先排除网卡层是否已经在丢包
- 配合链路速率字段判断是否存在协商到低速的情况
常用示例
常用示例
Get-NetAdapterStatistics # 查看全部网卡统计
Get-NetAdapterStatistics -Name 'Ethernet0' | Select-Object Name, ReceivedBytes, SentBytes, ReceivedDiscardedPackets
# 间隔采样做差估算速率:
$a = Get-NetAdapterStatistics -Name 'Ethernet0'
Start-Sleep -Seconds 10
$b = Get-NetAdapterStatistics -Name 'Ethernet0'
(($b.ReceivedBytes - $a.ReceivedBytes) * 8) / 10 / 1MB # 近似 Mbps
Get-NetAdapter | Select-Object Name, Status, LinkSpeed字段与异常
| 字段 | 含义 | 异常表现 |
|---|---|---|
| ReceivedBytes/SentBytes | 累计收发字节 | 持续增长属正常 |
| ReceivedDiscardedPackets | 接收丢弃计数 | 持续增长说明存在丢弃 |
| OutboundDiscardedPackets | 发送丢弃计数 | 需查驱动或虚拟交换 |
| ReceivedPacketErrors | 接收错误计数 | 有值通常指向链路或驱动 |
统计是累计值,单点数字没有参考价值;必须间隔采样比对增量,并结合采样时长换算速率,结论才有意义。排查时建议同时看丢弃与错误两类计数,单纯字节数增长说明不了链路质量。
虚拟网卡的统计包含隧道与虚拟交换的开销,还会混入其他虚拟机的流量;解读时要明确口径,避免把邻居的流量算到自己头上。判断链路质量时把 LinkSpeed 与错误计数一起看,比只盯着字节数更有结论。