iperf_网络性能工具
文章目录用途发展使用手册常用参数问题及相关分析control socket has closed unexpectedly / select failed: Bad file descriptor问题描述定量模式 VS 定时模式用途测试网络吞吐量性能的工具。发展iperf2和iperf3是完全独立的两个工具二者不兼容。iperf2iperf3来源原始iperf基础上的开源社区维护版ESNET团队的重写版维护SourceForgeGitHub协议支持TCP、UCP支持TCP、UCP、SCTP3.1新增安装包名iperf包名iperf3使用手册iperf3官网: http://software.es.net/iperf/变更参考https://iperf.fr/iperf-doc.php常用参数通用: -p, --port # 服务端监听的端口/客户端连接的端口默认是5201 -f, --format [kmgKMG] 打印吞吐量单位Kbits, Mbits, KBytes, MBytes -i, --interval # 周期吞吐量、抖动、丢包报告的间隔时间默认是1s -F, --file name 客户端传输/服务端接收指定本地文件 -B, --bind host 绑定特定端口 -V, --verbose 更详细的输出 -J, --json 以JSON格式输出 --logfile f 将输出内容发送到日志文件 -d, --debug 输出调试信息 -v, --version 显示版本信息并退出 -h, --help 显示本信息帮助手册并退出 服务端: -s, --server 以服务端运行 -D, --daemon 将服务端作为守护进程运行 -I, --pidfile file 写PID文件 -1, --one-off 处理一个客户端连接然后退出 客户端: -c, --client host 以客户端运行, 指定连接服务端的主机 -u, --udp 使用UDP协议 -b, --bandwidth #[KMG][/#] 目标带宽单位bits/s (0表示无限制) (UDP默认1 Mbit/s, TCP无限制) (突发模式时可在带宽后添加/和包数量将不间断发送指定数量的数据包即便超出了指定带宽限制) -t, --time # 传输所需时间 (默认10s) -n, --bytes #[KMG] 传输字节数量 (instead of -t) -k, --blockcount #[KMG] 传输数据块/包数量 (instead of -t or -n) -l, --len #[KMG] 缓冲区读写长度 (TCP默认128KBUDP默认8KB) --cport port 绑定指定的客户端端口 (TCP and UDP, 默认临时端口) -P, --parallel # 并行运行的客户端流数量 -R, --reverse 以反转模式运行 (服务端发送客户端接收) -w, --window #[KMG] 设置窗口大小/套接字缓冲区大小 -M, --set-mss # 设置TCP/SCTP最大分段大小 (MTU - 40 bytes) -N, --no-delay 设置TCP/SCTP无延迟禁用Nagle算法 -4, --version4 仅使用IPv4 -6, --version6 仅使用IPv6 -S, --tos N 设置IP服务类型 -Z, --zerocopy 使用“零拷贝”发送数据 -O, --omit N 省略前n秒 -T, --title str 在每个输出前加上的字符串 --get-server-output 从服务端获取结果 --udp-counters-64bit 在UDP测试数据包中使用64位计数器问题及相关分析control socket has closed unexpectedly / select failed: Bad file descriptor问题描述-n 1G定量传输频繁触发control socket has closed unexpectedly / select failed: Bad file descriptor换成-t 60就稳定不崩溃。定量模式 VS 定时模式-n 大小定量模式Number运行规则客户端强制传输指定总数据量如-n 1G 必须完整发送 1GB payload无论耗时多久凑够总量才会停止。1、发包逻辑链路正常时匀速发包一旦出现丢包、速率下跌iperf 会瞬时拉高发包速率疯狂重传补流量形成报文脉冲冲击2、重传逻辑丢包后无节流持续超额发包填补缺失的数据WiFi 驱动、SDIO 总线、系统 socket 队列极易瞬间打满溢出3、资源释放必须等全部数据传输完成后才一次性回收所有 FD、缓冲区、连接句柄单次会话内海量报文持续占用资源嵌入式精简 iperf极易出现内存 / 句柄泄漏4、控制通道补流量阶段 100% 带宽被数据报文占满iperf 用来同步状态的小 TCP 控制包会被系统丢弃两端心跳失联直接抛出control socket closed / Bad file descriptor。数据流特点总传输字节严格固定测试耗时随链路质量浮动链路越差测试持续时间越长、报文冲击越剧烈。-t 秒定时模式Time运行规则客户端持续发送流量严格跑满设定时长如-t 60 连续打流 60 秒到时间立刻主动停止发包完成一次测试会话。1、发包逻辑按-b设定带宽匀速平稳输出不会主动超额补包2、重传逻辑出现丢包只会在当前时间窗口内轻微补偿不会为了凑总量无限制猛发3、资源释放每一秒 iperf 都会执行一次套接字状态同步、缓冲区刷新、文件描述符回收资源周期性释放不会持续堆积4、控制通道每秒都有空闲时隙收发控制信令带宽同步、心跳报文TCP 控制 socket 不会被 UDP/TCP 数据洪流完全淹没。数据流特点时长固定传输总数据量随链路质量浮动链路差则总流量变少。| :—: | :— | :— |对比维度-t-n核心停止逻辑到达设定时长立刻停止发包总传输流量随链路质量浮动必须发完指定总字节才停止测试耗时随链路质量浮动发包速率策略严格按-b设定带宽匀速输出无超速补包行为链路出现丢包/速率下跌时自动瞬时拉高发包速度疯狂补发缺失流量形成脉冲洪流资源回收机制每秒执行一次缓冲区刷新、套接字状态同步、文件描述符周期性释放资源无长期堆积全程持续占用所有网络资源仅在全部数据传输完成后一次性回收嵌入式易发生FD/内存泄漏控制心跳可靠性高流量平稳队列不会持续满载每秒有空闲时隙收发心跳小包控制通道不易失联极低补流量阶段带宽被数据报文占满内核/无线驱动优先丢弃低优先级心跳小包极易心跳失联链路波动耐受能力强丢包仅减少该周期总传输量不会反向加重发包压力无恶性循环弱丢包→超速补发→队列溢出→更多丢包形成负载恶性循环嵌入式Linux兼容性极好长时间、多轮批量测试极少出现socket崩溃报错较差裁剪版iperf3长会话高频触发control socket closed/Bad file descriptor核心输出指标固定时间窗口内平均吞吐量、实时抖动、逐秒速率波动、丢包率固定数据量下完整传输耗时、全程平均吞吐量批量自动化测试适配完美适配搭配iperf3 -s -1可循环连续跑多轮无崩溃不适合自动化批量循环单次手动短流量测试尚可UDP大带宽压测适配稳定不会因丢包引发瞬时超大报文冲击风险高极易打满WiFi/SDIO驱动队列射频链路卡死典型适用场景1. WiFi长时间稳定性压力测试2. 多信道/多天线方案横向对比3. UDP实时业务音视频抖动测试4. 嵌入式自动化批量复测1. 模拟固定大小文件完整上传/下载耗时测试2. WiFi本地存储联动读写带宽测试3. 产品流量限额、计费逻辑验证明显缺陷无法精准控制总传输字节仅能控制测试时长1. 丢包会放大网络负载2. 长会话极易断控制心跳3. 嵌入式设备易进程卡死报错

相关新闻

Path of Building:流放之路离线Build规划终极指南

Path of Building:流放之路离线Build规划终极指南

Path of Building:流放之路离线Build规划终极指南 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 想要在《流放之路》中打造完美角色却总是被复杂的数值计算困…

2026/10/21 0:35:56 阅读更多 →
DataEase交互式仪表板设计:3个关键技巧突破静态报表局限

DataEase交互式仪表板设计:3个关键技巧突破静态报表局限

DataEase交互式仪表板设计:3个关键技巧突破静态报表局限 【免费下载链接】dataease 🔥 人人可用的开源 BI 工具,数据可视化神器。An open-source BI tool alternative to Tableau. 项目地址: https://gitcode.com/GitHub_Trending/da/datae…

2026/10/21 0:35:58 阅读更多 →
Path of Building PoE2:流放之路2角色构建模拟器的完整指南

Path of Building PoE2:流放之路2角色构建模拟器的完整指南

Path of Building PoE2:流放之路2角色构建模拟器的完整指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 还在为《流放之路2》复杂的天赋系统和装备搭配而烦恼吗?🤔…

2026/10/20 6:14:30 阅读更多 →

最新新闻

Function Calling 422 排查:tool 消息 content 为 null 的修复全记录

Function Calling 422 排查:tool 消息 content 为 null 的修复全记录

上周我把一个 Function Calling 任务切到 deepseek-v4.1-flash,本地跑得好好的,一上远端就开始 422。第一反应是参数写错了,翻来覆去检查代码没看出问题,直到把底层 HTTP 请求体完整 dump 出来,才发现 tool 角色的 con…

2026/10/21 0:36:01 阅读更多 →
Vidu Q4 Preview深度评测:AI视频生成迈向生产力工具的关键一步

Vidu Q4 Preview深度评测:AI视频生成迈向生产力工具的关键一步

最近几个创作群里讨论最多的,绕不开Vidu Q4 Preview。做AI视频的同仁应该都有感觉,这个赛道现在卷到什么程度:几乎每隔几天就有新版本、新模型冒出来,但大多是“看起来厉害、一上手就露馅”。Vidu Q4 Preview这次放出的内容&#…

2026/10/21 0:33:56 阅读更多 →
AI在芯片设计中的黑盒困局:一次IR压降事故带来的反思

AI在芯片设计中的黑盒困局:一次IR压降事故带来的反思

芯片世界里,有一句话最近被工程师们重复得越来越多:AI赢了棋局,却讲不出思路。就在上个月,我拿着一个AI辅助完成的block级floorplan给物理设计团队,线长比上一版少了12%,拥塞图也干净得不像话。结果等IR压降…

2026/10/21 0:33:56 阅读更多 →
计算智能体入门:从状态机到Q-learning的决策实现

计算智能体入门:从状态机到Q-learning的决策实现

1. 从零理解计算智能体的核心骨架计算智能体这个概念,听起来像是学术论文里的术语,但把它拆开来看,其实就是一个能感知环境、做出决策、执行动作的软件实体。你可以把它想象成一个在迷宫里找路的小机器人,它能看到周围哪里有墙、哪…

2026/10/21 0:33:55 阅读更多 →
MoE混合专家模型:稀疏激活如何破解大模型容量与成本困局

MoE混合专家模型:稀疏激活如何破解大模型容量与成本困局

从Transformer诞生起,前馈网络(FFN)就是"又笨重又绕不开"的角色:它占了模型近三分之二的参数量,但每个token都得老老实实把所有参数过一遍。你扩大模型容量,推理成本就跟着线性往上涨&#xff0c…

2026/10/21 0:33:55 阅读更多 →
开源30B模型硬刚闭源旗舰:科研场景实测与本地部署指南

开源30B模型硬刚闭源旗舰:科研场景实测与本地部署指南

最近开源圈又热闹起来了,一个主打科研场景的30B级别开源模型,直接放话要跟两家头部闭源大模型掰手腕。我当时第一反应是“又来一个刷榜的”,但仔细看完技术报告和社区实测数据之后,觉得这波还真不是营销话术,确实有货。…

2026/10/21 0:33:55 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →