[erlang-questions] Garbage Collection, BEAM memory and Erlang memory

Anton Lebedevich mabrek@REDACTED
Wed Jan 28 20:02:14 CET 2015

On Wed, Jan 28, 2015 at 7:34 PM, Roberto Ostinelli <roberto@REDACTED> wrote:
> So, here's the thing. I got a bigger box, a 30GB. I'm launching the same
> test, and What I have is the following:
> https://cldup.com/1M4qzvbLp_-3000x3000.png
> Basically what happens is that the memory "ramp-up" happens in two phases.
> The second phase was the one previously making my VM blowup.
> With this bigger box, this phase continues but then stabilizes.
> Not sure why this happens in this way, but with a bigger box, as you can
> see, when 22.3 GB of memory are reached, everything is stable.
> This was confusing, but it simply looks like there's some time needed before
> the memory gets allocated. I'm assuming this has to do with fullsweep_after.
> With it set to 10, we get to the 22.3GB illustrated; with it set to 5, we
> get to 19.3GB (3GB less).
> I guess this is it for now. I can only thank you for your time.
> Any additional remarks?

The graph looks really weird for me assuming that the load applied to
the system is stable. Why does it go down for a short time and then
jumps higher than it was?
Usually memory graphs increase up to some level and then remain stable
under controlled constant load.
I've tried to multiply 120000 (number of processes)  by 142896 (memory
usage of connection handling process) and got 16Gb. So it looks like
not all connection handling processes reach size of 142896 after
applying load.
In this situation I'd:
1) double check that all processes get the same load over time
2) compare process size histograms and allocator stats/fragmentation
before/after drop down and before/after jump up


More information about the erlang-questions mailing list