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

Danil Zagoskin z@REDACTED
Tue Aug 16 15:38:05 CEST 2016


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
  * 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 | z@REDACTED
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160816/dbecf2b8/attachment.htm>

More information about the erlang-questions mailing list