[rabbitmq-discuss] [help] [beginner] server stops sending messages; publish (in transaction) hangs on commit
Simon MacMullen
simon at rabbitmq.com
Thu Feb 23 17:57:28 GMT 2012
On 23/02/12 16:58, Alistair Bayley wrote:
> Why is it not able to free memory? A rabbitmqctl report on a freshly
> started server shows total memory about 10M, what causes it to grow
> and not shrink back? This server is currently doing literally nothing
> - all queues are empty - so I'd like to know why total memory doesn't
> drop back down to something close to the initial state.
The report you posted showed most memory in the VM being used by Erlang
processes. You could run something like:
rabbitmqctl eval
'lists:sublist(lists:reverse(lists:sort([{process_info(Pid,memory), Pid,
process_info(Pid)} || Pid <- processes()])), 10).'
to list the top 10 processes by memory use, along with some information
for each one. This may tell us something interesting.
Having said that, 100Mb for an idle server does not seem totally
unreasonable - RabbitMQ is not optimised for small memory use when idle.
> It is running on a deliberately small VM. As it is the only service on
> the VM (the VM exists solely to host rabbitmq) we can increase the
> vm_memory_high_watermark . I would try 80%, is there a reason to go
> higher (or not)?.
The reason we set 0.4 is that in a worst case scenario memory use can
double during GC. That's relatively unlikely though and assuming you
have some swapspace as well it will not be too bad if you do.
Cheers, Simon
--
Simon MacMullen
RabbitMQ, VMware
More information about the rabbitmq-discuss
mailing list