RabbitMQ内存泄漏?

RabbitMQ内存泄漏?

我在 Kubernetes 集群上使用 RabbitMQ 的单个实例。RabbitMQ pod 可以访问 15Go 的 RAM,并且设置了 10Go 的高水位。

经过几个小时的使用(以及几个存储了 6000 万条持久消息的队列),RabbitMQ 的 UI 显示使用量为 4GB(超出 10GB 高水位),但 rabbitMQ pod 使用了近 12GB 的 RAM。

这个 pod 上除了 RabbitMQ 之外没有运行任何其他东西。ps在 pod 上运行命令显示该命令/usr/lib/erlang/erts-8.3/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -st使用了近 10GB 的内存:

root@rabbitmq-0:/# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
rabbitmq     1  0.0  0.0   4340   152 ?        Ss   Apr25   0:00 /bin/sh -e /usr
rabbitmq   131  0.0  0.0  11492   116 ?        S    Apr25   0:00 /usr/lib/erlang
rabbitmq   266  256 66.7 15384208 10272940 ?   Sl   Apr25 3596:13 /usr/lib/erlan
rabbitmq   364  0.0  0.0   4220   400 ?        Ss   Apr25   0:01 erl_child_setup
rabbitmq   376  0.0  0.0  11456   108 ?        Ss   Apr25   0:00 inet_gethost 4
rabbitmq   377  0.0  0.0  13552  1140 ?        S    Apr25   0:00 inet_gethost 4
root       406  0.0  0.0  20292  2508 ?        Ss+  Apr25   0:00 bash
root     17817  0.0  0.0  20296  3280 ?        Ss   14:35   0:00 bash
root     18322  0.0  0.0  17504  2068 ?        R+   15:05   0:00 ps -aux

4GB 和 10GB 之间的差异是正常的还是存在内存泄漏?

rabbitmqctl report命令结果:

{memory,
     [{total,4165388576},
      {connection_readers,677672},
      {connection_writers,282352},
      {connection_channels,1721776},
      {connection_other,2916512},
      {queue_procs,2559842512},
      {queue_slave_procs,0},
      {plugins,7852776},
      {other_proc,33485720},
      {mnesia,120680},
      {metrics,12540648},
      {mgmt_db,5339864},
      {msg_index,142928},
      {other_ets,19053856},
      {binary,1476618400},
      {code,24747054},
      {atom,1033401},
      {other_system,31550241}]},

RabbitMQ 3.6.9,Erlang 19.3

相关内容