[rabbitmq-discuss] RabbitMQ / Erlang not running on all cores?

Michael Klishin mklishin at gopivotal.com
Tue Oct 22 22:46:54 BST 2013

On 23 Oct 2013, at 01:31, Matt Pietrek <mpietrek at skytap.com> wrote:

> Thanks Zhibo. We actually have hundreds of queues. Two of them are processing several hundred messages/second. The remaining queues are processing 1 or 2 messages second.

Then you should see at least two cores being moderately used. 

As you have correctly identified,
Erlang VM detects 4 cores available to it. What is odd is that you have async-threads:0,
which means disk I/O will block Erlang VM schedulers.

Does the

Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4] [async-threads:0] [kernel-poll:false]

line come from RabbitMQ or just `erl` executed on the same machine?

If you run rabbitmq with RABBITMQ_ALLOW_INPUT=true in the foreground and hit Enter,
you should see how many async-threads it has configured.
For me it's 30 vs 10 for a new Erlang shell.

I'd also recommend using vmstat and similar tools to see how many threads wait on disk I/O.
By the way, do you publish messages as persistent?


More information about the rabbitmq-discuss mailing list