使用 MQTT 守护程序时 CPU 使用率高..!
Posted
技术标签:
【中文标题】使用 MQTT 守护程序时 CPU 使用率高..!【英文标题】:High CPU utilisation while using MQTT deamon..! 【发布时间】:2016-01-09 04:22:47 【问题描述】:我在后台使用 MQTT 守护程序来接收和发送数据到服务器,这是一个循环过程,所以我在线程(C++ 和 Qt)中编写了上述功能并且代码工作正常。但问题是它正在消耗高 CPU 使用率,即最小 91%-99% 最大,我已经多次检查了我的代码,但我无法发现受影响的区域。
请指导查找,我使用的是内核版本为 3.1 的 Linux 操作系统
提前致谢, 罗希特.G
【问题讨论】:
你写过什么代码?这个问题还没有什么可讨论的。 答案在第 42 页。 如果您需要代码方面的帮助,您必须提供minimal reproducible example 指导您了解我们一无所知的代码? 抱歉没有很好地描述我的问题,实际上我在我的 POS 设备中使用 MQTT 协议,当我运行有关 MQTT 的程序时,它显示 CPU 使用率约为 90-97%。 【参考方案1】:MQTT 有一个循环来检查消息。请包括几微秒的睡眠。这大大减少了高 CPU 使用率。
当真时: mqttc.loop_start() time.sleep(0.001)
【讨论】:
【参考方案2】:为了减少 mosquitto-deamon 使用的 CPU 使用率,我更改了库源中的 keepalive 值,它对我有用..!
【讨论】:
以上是关于使用 MQTT 守护程序时 CPU 使用率高..!的主要内容,如果未能解决你的问题,请参考以下文章