[erlang-questions] Help with allocator tuning
Max Lapshin
max.lapshin@REDACTED
Wed Nov 23 13:47:56 CET 2016
Hi.
I'm trying to get some idea about the proper way of configuring allocators.
We are running our erlang software flussonic, it captures around 1,5 gbit/s
of input via TCP, allocates lot of binaries from 500 bytes to 1500 bytes
and then prepares large binaries around 1 megabyte (video blobs). There are
produced around 250 such blobs per second.
When I launch erlang with:
+stbt db +sbwt short +swt very_low +sfwi 20 +zebwt short +sub true +MBas
aoffcaobf +MBacul 0
I get around 2000 mmaps and munmaps per second and recon_alloc tells that I
have 98% of usage. It looks rather strange, so I tried to play with
tunings and switched to:
+stbt db +sbwt short +swt very_low +sfwi 20 +zebwt short +sub true +MBas
aoffcaobf +MBsbct 4096 +MBacul de +Mulmbcs 131071 +Mumbcgs 1 +Musmbcs 4095
I'm not quite sure that my settings are sane, but I tried to make very
large multiblock areas and try to store my binaries inside large areas (not
single block carrier, but multiblock carrier).
With these settings I get about 50 mmap/munmap per second. Seems that
hugepages are not used (frankly speaking I thought to autoenable them).
But with these settings I get about 50% of usage and all servers are
quickly getting killer by OOM killer.
With these flags I tried to hint allocator to create 128MB large areas and
objects smaller than 4 megabytes to put into there areas.
So my questions are:
1) should I worry about 2000 of mmap/unmap syscalls per second?
2) should I try to reduce usage of sbct and increase usage of mbct?
3) are my flags to erlang VM compatible with each other?
4) maybe some other hints?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161123/fcaf46b2/attachment.htm>
More information about the erlang-questions
mailing list