使用 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 使用率高..!的主要内容,如果未能解决你的问题,请参考以下文章

运行多个 python 程序时内核 CPU 高

没有声音播放时核心音频 CPU 使用率高

OpenHarmony Neptune开发板-MQTT连接华为IoT平台

三.线程优先级和守护进程

电脑cpu过高怎么办

Tomcat 的 Catalina 实用程序线程定期使用高 CPU 和内存