I have been running 1.15 locally for a while and 1.14 in production. I just upgraded production to 1.15.7 and noticed that the “code” size is different between dev/prod. I’m not sure what the expected behaviour is nor do I know what “code” memory means. I’m naively assuming it’s the size of the beam file AST in memory? Is this supposed to be static based on the deploy size or something else entirely? Erlang manual says:
The total amount of memory currently allocated for Erlang code. This memory is part of the memory presented as system memory.
So I would have assumed prod < dev actually. Anyone have any idea why this is different between dev / prod? Screenshots below.
Locally, 1.15.7 and OTP 26 gives 30MB of code size.
But on production, we have 48MB of code in memory.
Edit:
Also, a sidenote, trying to search for what memory code netted me this awesome post by @hauleth ![]()
Also, an interesting note about binary memory:




















