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

RabbitMQ持续生成PowerShell致CPU占用100%,如何配置解决?

解决RabbitMQ在Windows Server上持续生成PowerShell进程的问题

针对你遇到的RabbitMQ 3.11.15在Windows Server 2019 1809上大量生成PowerShell进程导致CPU满载的问题,可以通过以下配置调整来解决:

1. 禁用不必要的插件

部分RabbitMQ插件会依赖PowerShell执行周期性任务(比如监控、备份或自定义扩展),先排查并禁用非必需插件:

  • 打开命令提示符,执行以下命令列出已启用的插件:
    rabbitmq-plugins list -e
    
  • 禁用不需要的插件(例如第三方备份插件、未使用的shovel或federation插件),命令格式:
    rabbitmq-plugins disable <插件名称>
    
  • 重启RabbitMQ服务生效。

2. 修改日志轮转配置,避免调用PowerShell脚本

RabbitMQ默认可能通过PowerShell执行日志轮转,可改用内置轮转机制:

  • 打开RabbitMQ的配置文件rabbitmq.conf(默认路径:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.11.15\etc\rabbitmq)
  • 添加或修改以下配置项,禁用外部轮转脚本并启用内置时间轮转:
    # 使用时间触发日志轮转
    log.file.rotation.strategy = "time"
    # 设置轮转间隔为24小时
    log.file.rotation.interval = 24 hours
    # 保留5份历史日志
    log.file.rotation.count = 5
    # 清空外部轮转命令,避免调用PowerShell
    log.file.rotation.command = ""
    
  • 重启RabbitMQ服务。

3. 调整RabbitMQ服务的启动方式

默认RabbitMQ服务可能通过PowerShell wrapper启动,直接改用bat脚本启动:

  • 打开Windows服务管理器,找到RabbitMQ服务,右键选择「属性」
  • 将「可执行文件路径」修改为直接指向rabbitmq-server.bat,示例路径:
    "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.11.15\sbin\rabbitmq-server.bat"
    
  • 保存设置后重启服务。

4. 排查Erlang环境的相关配置

RabbitMQ基于Erlang运行,Erlang的某些心跳或监控机制可能触发PowerShell:

  • 检查Erlang安装目录下的erl.ini文件,确保没有配置调用PowerShell的周期性任务
  • 验证Erlang环境变量ERLANG_HOME是否正确配置,避免因路径问题导致异常脚本调用

5. 升级RabbitMQ到最新稳定版本

3.11.15可能存在Windows平台的PowerShell进程泄漏bug,建议升级到同主版本的最新补丁版(如3.11.x系列的最新版本)或更高主版本,官方通常会修复这类平台特定的兼容性问题。

完成上述调整后,重启RabbitMQ服务,观察任务管理器中的PowerShell进程数量和CPU占用情况,应该能明显改善问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:32:05