当前位置: 首页 > article >正文

Fast dds 内存调优

在 Fast DDS 中,调整 Writer 端的缓存大小(即 historyQos.depth)从 100 调整为 10,可以带来以下优化:

1. 内存占用优化

  • 原因:缓存大小直接影响 Writer 端需要占用的内存。将 depth 从 100 调整为 10,意味着 Writer 端只需要存储最后的 10 个样本,而不是 100 个样本。
  • 优化效果:内存占用显著减少,尤其是在样本较大的情况下。这对于资源受限的系统(如嵌入式系统)非常重要。

2. 降低调度开销

  • 原因:缓存大小较大时,Writer 端需要维护更大的历史样本队列,这会增加调度和管理开销。
  • 优化效果:减少缓存大小后,Writer 端的调度和队列管理开销降低,系统运行更高效。

3. 减少网络带宽占用

  • 原因:如果启用了历史数据的重传(例如,对于新订阅者),较大的缓存大小会导致更大的网络带宽消耗,因为 Writer 需要发送更多的历史样本。
  • 优化效果:减少缓存大小后,Writer 端只需要发送有限的历史样本(10 个),从而减少网络带宽的占用。

4. 提高实时性

  • 原因:较大的缓存大小可能导致 Writer 端需要更长时间来处理历史数据,尤其是在高频率的数据发布场景下。
  • 优化效果:减少缓存大小后,Writer 端的响应速度更快,延迟降低,实时性得到提升。

5. 简化资源管理

  • 原因:较大的缓存大小可能导致资源(如内存和 CPU)被过度消耗,尤其是在多主题或高并发的场景下。
  • 优化效果:减少缓存大小后,资源管理更加轻松,系统更加稳定。

需要注意的问题

  1. 数据丢失风险:如果订阅端(Reader)需要访问较旧的样本,减少缓存大小可能导致部分历史数据丢失。
  2. 配置匹配:确保 max_samples 和 max_samples_per_instance 等其他 QoS 参数与新缓存大小(10)保持一致,避免配置冲突。
  3. 系统需求:如果应用场景要求保持较大的历史记录,减少缓存大小可能会影响系统功能。

总结

将 Writer 端的缓存大小从 100 调整为 10,可以显著优化内存占用、降低调度开销、减少网络带宽占用并提高实时性。然而,这需要根据具体的应用场景和需求进行权衡,确保调整后的配置不会影响系统的功能和可靠性。


http://www.kler.cn/a/586527.html

相关文章:

  • 【前端实战】一文掌握响应式布局 - 多设备完美适配方案详解
  • 【DeepSeek】蓝耘智算 | 中国AI新范式:蓝耘智算云+DeepSeek R1部署实战教程
  • Spring @Bean注解使用场景二
  • 【PHP】获取PHP-FPM的状态信息
  • Python JSON模块详解:从入门到高级应用
  • C#—线程池详解
  • 健康养生:拥抱活力,畅享生活
  • Excel单元格中插入自定义超链接
  • 第5课 树莓派的Python IDE—Thonny
  • Python系列教程241——不要使用from *
  • Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能
  • MS-DOS 6.22 下建立 FTP 服务器
  • 机器学习-----决策树
  • 市场波动中的风险管理与策略优化
  • 具备多种功能的PDF文件处理工具
  • react useEffect函数清除副作用函数执行时机
  • 第三篇《RMAN 备份与恢复指南:保障数据库安全》(RMAN)
  • JAVA字符串与正则表达式
  • 策略模式(Strategy Pattern)与状态模式(State Pattern)的异同
  • ROS2基础——Linux