[erlang-questions] msacc: much time spent in alloc and gc

Danil Zagoskin <>
Tue Aug 16 15:38:05 CEST 2016


Hello!

We have a system which uses only 20—25% of available CPU. After that we see:
  * increased run_queue
  * increased scheduler active time
(from erlang:statistics(scheduler_wall_time))
  * decreased CPU usage

At first there were some problems visible with lcnt, but now (after fixes)
there aren't.

While the system is in troubled state, msacc shows in cumulative scheduler
stats:
  * 19.3% alloc
  * 19.3% gc
  * 25.3% ets
  * 12.3% emulator
  * 10.0% bif
  * (other times are quite low)

The system is 2x 10-core Xeon E5-2660 (with hyperthreading), so we have 40
schedulers there.
We use OTP 19.0 with +MBas aoffcaobf +MBacul 0

Switching scheduler binding from unbound (no option) to default
(thread_no_node_processor_spread according to documentation) sligtly
increases the throughput, but the alloc/gc/ets times are still very high.

How do we inspect high alloc/gc scheduler times?
Is there a way to select the most suitable allocation strategies without
bruteforcing every option on every allocator type?
Maybe we are missing something? Any advice?

-- 
Danil Zagoskin | 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160816/dbecf2b8/attachment.html>


More information about the erlang-questions mailing list