You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Paho MQTTv5客户端QoS=2模式下堆内存占用过高问题咨询

QoS=2订阅时Paho MQTTv5客户端内存持续增长问题

环境与核心现象

  • 使用Eclipse Paho MQTTv5客户端对接Mosquitto Broker
  • 采用**QoS=2(ExactlyOnce)**订阅时,MqttProperties等Paho框架类占用的堆内存持续上升,即使停止发布端应用、触发强制GC,这些对象也无法被回收
  • 堆内存会在数分钟内攀升至最大堆内存的80-90%;切换为**QoS=1(AtLeastOnce)**模式时,堆内存占用基本保持稳定

补充测试细节

为两个应用设置1G最大堆内存后,观察到以下结果:

  • 两个应用最终均在内存占用约210M时达到峰值
    • 应用1:每100ms接收1条约20字节的消息
    • 应用2:每约150ms批量接收7条约20字节的消息,因负载更高,更快达到峰值
  • 停止发布后内存仍未释放,疑问:QoS=2是否存在待确认消息缓冲区,填满后会被复用?

内容的提问来源于stack exchange,提问作者BF_PI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 13:24:52