netstat不直接测吞吐量或cpu/内存负载,但可通过连接状态、recv-q/send-q队列长度、netstat -s协议统计及watch动态监控等间接反映网络瓶颈与服务异常。

netstat 本身不直接测吞吐量(如 Mbps)或 CPU/内存负载,但它能通过连接状态、队列长度、协议统计等指标,间接反映网络连接状况和潜在吞吐瓶颈。关键在组合参数、交叉观察,而不是单看某一项。
查监听端口与活跃连接
快速确认服务是否启动、端口是否被占用:
- 所有监听端口(含进程):sudo netstat -tulnp(-t TCP、-u UDP、-l 监听、-n 数字格式、-p 进程)
- 所有 TCP 连接状态:netstat -tan(加 -a 显示全部,-n 避免 DNS 解析延迟)
- 按状态统计数量:netstat -tn | awk '{print $6}' | sort | uniq -c | sort -n
看 Recv-Q 和 Send-Q 判断瞬时瓶颈
第三、四列数值非零是重要信号:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- Recv-Q 持续 > 10KB → 应用读取慢,数据卡在接收缓冲区(如后端处理阻塞)
- Send-Q 持续 > 10KB → 本机发不出去,可能是网卡饱和、对端接收窗口小或网络延迟高
- 配合 netstat -i 查对应网卡的 RX-OVR/TX-ERR,确认是否硬件或驱动问题
用 -s 分析协议层异常
netstat -s 输出的是内核协议栈统计,适合发现隐性问题:
- TCP Segments Retransmitted 占总发送段比例 > 2% → 链路丢包或中间设备不稳定
- TCP Failed Connection Attempts 突增 → 可能服务过载、防火墙拦截或 SYN Flood
- Segments Received 与 Segments Delivered 差值大 + Packets Discarded 上升 → 内核因内存紧张主动丢包
持续监控连接状态变化
用 -c 参数动态刷新,观察趋势比单次快照更有价值:
- watch -n 2 'netstat -antc | head -20' → 每 2 秒刷新,聚焦前 20 行
- ESTABLISHED 长期高位 → 连接数逼近上限,需检查连接池或长连接泄漏
- CLOSE_WAIT 持续增长 → 本地应用没调用 close(),属程序级资源泄漏
- TIME_WAIT 短时突增后回落属正常;若长期不降,可结合 /proc/sys/net/ipv4/tcp_fin_timeout 调优










