【问题标题】:RabbitMQ: error_logger process high CPU usagesRabbitMQ:error_logger 进程 CPU 使用率高
【发布时间】:2020-05-21 17:08:16
【问题描述】:

环境描述:

kubernetes、ubuntu、1 核、rabbitmq 3.7.24、erlang 22.3.1

rabbitmq 大约有 6 个队列,每个队列传入/传递 50/s。但 CPU 使用率有 50%。日志级别是信息。

顶级进程: enter image description here

top -H -p pid

enter image description here

为什么日志输出很少,却占用了很多CPU。

【问题讨论】:

    标签: rabbitmq cpu-usage


    【解决方案1】:

    主要问题是 Erlang 的调度程序,而不是 error_logger。这个问题有两种解决方案。

    1. 禁用投机忙等待:

      RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="+sbwt none +sbwtdcpu none +sbwtdio none"
      
    2. 减少调度器的数量:

      RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="+S 1:1"
      

    此配置应写入/etc/rabbitmq/rabbitmq-env.conf 文件。请参考the RabitMQ Runtime Tuning documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 2015-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多