There are known memory leaks in upstream Gluster 3.11 and 3.12 which has since been resolved. Those patches have yet to hit FreeBSD, and I can easily confirm that I'm hitting the exact same memory leaks described in the upstream bugs.
Working with a large number of files (in my case, writing 100k-1m files into Gluster) will eventually cause GlusterFS to consume all RAM and SWAP until the system becomes unresponsive due to OOM.
Upstream details: https://bugzilla.redhat.com/show_bug.cgi?id=1593884
Upstream "backport to 3.12.x" request: https://bugzilla.redhat.com/show_bug.cgi?id=1613512
"This is fixed with 3.12.13 now.
please patch and change maintainer
I guess the previous comment could be read as a resignation from maintainership and, thus, this PR should not anymore be waiting on "maintainer feedback".
Hoping this will be fixed soon!
(and so soon as I have some time on hand I could try the backport myself)
Created attachment 205495 [details]
upgrade to 3.12.15
This is the easiest upgrade (with current patchset) from current version that contains a fix for this leak (was fixed upstream in 3.12.13).
Unfortunately, to my testing, it doesn't change much (if at all) as there are other leaks.
Upgrading to 3.13 or later might solve those, but that needs new patches that I didn't attempt.
(In reply to Lapo Luchini from comment #5)
Thank you for the patch Lapo. Could you reference from where this patch came?
Upstream issue/pr/commit references would be great to comment the patch with
It's a simple upgrade s/3.11.1/3.12.15/ but that had a compilation error, which I fixed by adding a missing "gf_" in a function name (as suggested by the compiler itself). (I don't understand how that even compiles upstream)
Truth said: I'm not *sure* what that function does and if my fix is strictly correct, but given the absence of "uuid_is_null()" in the sources, the presence of "gf_uuid_is_null()" and the fact that the variable is called "gfid" and the following line calls "gf_uuid_copy()" I'd say it's safe to assume that's the correct fix.
Found it upstream: