[CentOS-devel] RabbitMQ eats 1.6GB ram on CentOS Stream 9

Thu Aug 11 14:56:03 UTC 2022
Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org>

As part of OpenStack deployments we deploy RabbitMQ. During current 
cycle I looked at moving from CentOS Stream 8 to 9.

And RabbitMQ is a problem.

When I boot CentOS Stream 9 system and then use just built 'rabbitmq' 
container memory use of "/usr/lib64/erlang/erts-12.3.2.2/bin/beam.smp" 
process goes up to 1.6GB ram:

(rabbitmq)[root at kolla-cs9 /]# rabbitmq-diagnostics memory_breakdown
Reporting memory breakdown on node rabbit at kolla-cs9...
other_system: 1.6233 gb (68.59%)
allocated_unused: 0.5164 gb (21.82%)
binary: 0.1551 gb (6.55%)
code: 0.0356 gb (1.51%)
other_proc: 0.0184 gb (0.78%)
connection_other: 0.0037 gb (0.16%)
other_ets: 0.0036 gb (0.15%)
queue_procs: 0.0021 gb (0.09%)
plugins: 0.0021 gb (0.09%)
connection_readers: 0.0021 gb (0.09%)
atom: 0.0014 gb (0.06%)
mgmt_db: 0.001 gb (0.04%)
metrics: 8.0e-4 gb (0.03%)
connection_writers: 4.0e-4 gb (0.02%)
connection_channels: 4.0e-4 gb (0.02%)
mnesia: 3.0e-4 gb (0.01%)
msg_index: 0.0 gb (0.0%)
quorum_ets: 0.0 gb (0.0%)
stream_queue_procs: 0.0 gb (0.0%)
stream_queue_replica_reader_procs: 0.0 gb (0.0%)
queue_slave_procs: 0.0 gb (0.0%)
quorum_queue_procs: 0.0 gb (0.0%)
stream_queue_coordinator_procs: 0.0 gb (0.0%)
reserved_unallocated: 0.0 gb (0.0%)

If I boot the same container on Debian host then same process uses 0.2GB 
ram:

(rabbitmq)[root at debian /]# rabbitmq-diagnostics memory_breakdown
Reporting memory breakdown on node rabbit at debian...
binary: 0.2787 gb (70.2%)
code: 0.0355 gb (8.93%)
other_system: 0.0255 gb (6.44%)
other_proc: 0.0209 gb (5.26%)
connection_other: 0.0108 gb (2.72%)
mgmt_db: 0.0073 gb (1.84%)
plugins: 0.0048 gb (1.2%)
other_ets: 0.0037 gb (0.93%)
connection_readers: 0.003 gb (0.75%)
queue_procs: 0.0028 gb (0.7%)
atom: 0.0015 gb (0.37%)
metrics: 0.0011 gb (0.28%)
connection_channels: 8.0e-4 gb (0.21%)
mnesia: 4.0e-4 gb (0.1%)
connection_writers: 2.0e-4 gb (0.05%)
msg_index: 0.0 gb (0.01%)
quorum_ets: 0.0 gb (0.01%)
stream_queue_procs: 0.0 gb (0.0%)
stream_queue_replica_reader_procs: 0.0 gb (0.0%)
queue_slave_procs: 0.0 gb (0.0%)
quorum_queue_procs: 0.0 gb (0.0%)
stream_queue_coordinator_procs: 0.0 gb (0.0%)
allocated_unused: 0.0 gb (0.0%)
reserved_unallocated: 0.0 gb (0.0%)


So I started checking. Maybe it is a problem of Erlang/RabbitMQ packages 
provided by RabbitMQ team?

Booted CS9 system and deployed OpenStack using Debian based containers. 
Again 1.6GB memory use.

So let build CS9 based containers using Erlang/RabbitMQ from CentOS 
Stream 9 "messaging/rabbitmq-38" repository. Again 1.6GB memory use.

I am wondering what is a reason?

And what is proper solution?


For now I only know not-acceptable solution: deploy OpenStack using 
Debian or Ubuntu and forget about CentOS Stream 9 and rest of RHEL 9 family.