RabbitMQ:erl.exe占用高CPU用量

我已经在我的应用程序中实现了rabbitmq并且它在Windows Server 2008服务器上运行,问题是erl.exe占用高CPU用量,有时它达到40-45%的CPU使用率,即使在理想情况下(当不处理任何队列时) CPU占用率至少需要4-15%。

什么可能是高CPU使用率的原因? 我需要做任何设置或任何其他事情。

你说即使不处理队列,它仍然是4-15%,但你的应用程序是否正在运行? 如果您之前没有,请尝试在没有应用程序使用Rabbit的情况下监视erl。

我想到的一件事是你可能在循环中使用QueingBasicConsumer ,这可能会导致CPU使用率。 如果您正在使用QueingBasicConsumer并且它是导致命中的原因,请尝试使用EventingBasicConsumer替换它(这样您不会忙着等待)并查看您是否有改进。

另外,您的应用程序如何使用Rabbit? 根据文档,每个IConnection都由后台线程备份,如果您在应用程序中创建了一堆连接,则可能是速度减慢的另一个原因。