[erlang-questions] VM using only 2 out of 8 schedulers available

Knut Nesheim <>
Thu Feb 16 17:00:21 CET 2012


Hi,

We just tried moving more load to the node using only two schedulers.
The VM is using 100% cpu on the two cores, with a run queue hovering
between 50 and 100 processes. There is no change in active schedulers.

As far as I can see, the load is now at a point where the schedulers
should become active. Is there anything we can do to understand more
about why this is not happening?

Knut

On Thu, Feb 16, 2012 at 10:19 AM, Knut Nesheim <> wrote:
> Thanks for a quick reply.
>
> During the GMT night which is our low point, we see quite low traffic
> on each machine with maybe 5% cpu utilization of each of the 8 cores.
> This could explain why some schedulers are put as idle. When traffic
> picks up, we're using around 25% of each core.
>
> The problem for us is that when traffic picks up again, the VM did not
> start using the idle schedulers again. erlang:statistics(run_queue)
> reports that there almost always are processes waiting, with peaks of
> around 20 processes in our case. This causes much higher latency than
> when using all cores.
>
> We will try pushing more load to this node to see if it starts using
> the idle schedulers.
>
> Thanks
> Knut
>
> On Thu, Feb 16, 2012 at 8:01 AM, Kenneth Lundin
> <> wrote:
>> What is your real problem except that there is no reported cpu load on some
>> of the cores?
>>
>> When there is low load on the system i.e. when there are too few runnable
>> Erlang processes some of the schedulers will automatically be put as idle
>> letting the remaining schedulers run all processes. When the load increases
>> the idle schedulers will be taken into service again.
>>
>> Each scheduler normally runs on one processor core.
>>
>> Can this explain what you have observed?
>>
>> /Kenneth Erlang/OTP Ericsson
>>
>> Den 15 feb 2012 17:53 skrev "Knut Nesheim" <>:
>>>
>>> Dear list,
>>>
>>> From time to time we see the VM using only some of the available
>>> cores. Typically 2 or 4 out of 8 available cores will be busy, while
>>> the others are not used at all. From 'top' and 'htop' we see only some
>>> cores being used.
>>>
>>> We are running the halfword emulator on 8 core machines and the VM is
>>> correctly reporting the number of schedulers and the underlying
>>> topology. The nodes are utilizing roughly 25% of each of the 8 cores
>>> during normal operation.
>>>
>>> This problem appeared again today and we still have the process
>>> running if anyone has any ideas for how to debug the issue.
>>>
>>> We are on Ubuntu 10.04 LTS, 2.6.32-342-ec2, 64bit, R14B04 with the
>>> halfword emulator. The only NIF library we are using is jiffy.
>>>
>>> Regards
>>> Knut
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions



More information about the erlang-questions mailing list