[erlang-questions] Why am I seeing RefcBinary with length < 64?
Roger Lipscombe
roger@REDACTED
Wed Dec 20 15:52:31 CET 2017
On 20 December 2017 at 14:32, Jan Chochol <jan.chochol@REDACTED> wrote:
> Hi,
>
> It is possible that these binaries comes as part of larger binaries (also
> called sub binaries).
Is there any way to figure this out in gdb?
> Some information are available at
> http://erlang.org/doc/efficiency_guide/binaryhandling.html .
> Sub binaries only store reference to originating binary and length - it also
> mean, that originating binary can not be freed.
Would I be correct in assuming that, because these binaries come
directly from a cross-node gen_server:call, there *is* no large binary
for them to be sub-binaries of? Or are they sub-binaries of the
cross-node message?
> You can use binary:copy/1 to convert sub binary to fresh new binary (witch
> will be stored on heap in case of small binaries).
Yeah. I've seen that. Before I add these to arbitrary places all over
my code, I'd rather figure out the root cause.
Thanks,
Roger.
More information about the erlang-questions
mailing list