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@kolla-cs9 /]# rabbitmq-diagnostics memory_breakdown Reporting memory breakdown on node rabbit@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@debian /]# rabbitmq-diagnostics memory_breakdown Reporting memory breakdown on node rabbit@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.