[Gluster-users] Memory leak with a replica 3 arbiter 1 configuration
Benjamin Edgar
benedgar8 at gmail.com
Tue Aug 23 18:18:18 UTC 2016
Hi Ravi,
I saw that you updated the patch today (@ http://review.gluster.org/#/c/
15289/). I built an RPM of the first iteration you had of the patch (just
changing the one line in arbiter.c "GF_FREE (ctx->iattbuf);") and am
running that on some test servers now to see if the memory of the arbiter
brick gets out of control.
Ben
On Tue, Aug 23, 2016 at 3:38 AM, Ravishankar N <ravishankar at redhat.com>
wrote:
> Hi Benjamin
>
> On 08/23/2016 06:41 AM, Benjamin Edgar wrote:
>
> I've attached a statedump of the problem brick process. Let me know if
> there are any other logs you need.
>
>
> Thanks for the report! I've sent a fix @ http://review.gluster.org/#/c/
> 15289/ . It would be nice if you can verify if the patch fixes the issue
> for you.
>
> Thanks,
> Ravi
>
>
> Thanks a lot,
> Ben
>
> On Mon, Aug 22, 2016 at 5:03 PM, Pranith Kumar Karampuri <
> pkarampu at redhat.com> wrote:
>
>> Could you collect statedump of the brick process by following:
>> https://gluster.readthedocs.io/en/latest/Troubleshooting/statedump
>>
>> That should help us identify which datatype is causing leaks and fix it.
>>
>> Thanks!
>>
>> On Tue, Aug 23, 2016 at 2:22 AM, Benjamin Edgar <benedgar8 at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I appear to have a memory leak with a replica 3 arbiter 1 configuration
>>> of gluster. I have a data brick and an arbiter brick on one server, and
>>> another server with the last data brick. The more I write files to gluster
>>> in this configuration, the more memory the arbiter brick process takes up.
>>>
>>> I am able to reproduce this issue by first setting up a replica 3
>>> arbiter 1 configuration and then using the following bash script to create
>>> 10,000 200kB files, delete those files, and run forever:
>>>
>>> while true ; do
>>> for i in {1..10000} ; do
>>> dd if=/dev/urandom bs=200K count=1 of=$TEST_FILES_DIR/file$i
>>> done
>>> rm -rf $TEST_FILES_DIR/*
>>> done
>>>
>>> $TEST_FILES_DIR is a location on my gluster mount.
>>>
>>> After about 3 days of this script running on one of my clusters, this is
>>> what the output of "top" looks like:
>>> PID USER PR NI VIRT RES SHR S %CPU %MEM
>>> TIME+ COMMAND
>>> 16039 root 20 0 1397220 77720 3948 S 20.6 1.0
>>> 860:01.53 glusterfsd
>>> 13174 root 20 0 1395824 112728 3692 S 19.6 1.5
>>> 806:07.17 glusterfs
>>> 19961 root 20 0 2967204 *2.145g* 3896 S 17.3
>>> 29.0 752:10.70 glusterfsd
>>>
>>> As you can see one of the brick processes is using over 2 gigabytes of
>>> memory.
>>>
>>> One work-around for this is to kill the arbiter brick process and
>>> restart the gluster daemon. This restarts arbiter brick process and its
>>> memory usage goes back down to a reasonable level. However I would rather
>>> not kill the arbiter brick every week for production environments.
>>>
>>> Has anyone seen this issue before and is there a known work-around/fix?
>>>
>>> Thanks,
>>> Ben
>>>
>>> _______________________________________________
>>> Gluster-users mailing list
>>> Gluster-users at gluster.org
>>> http://www.gluster.org/mailman/listinfo/gluster-users
>>>
>>
>>
>>
>> --
>> Pranith
>>
>
>
>
> --
> Benjamin Edgar
> Computer Science
> University of Virginia 2015
> (571) 338-0878
>
>
> _______________________________________________
> Gluster-users mailing listGluster-users at gluster.orghttp://www.gluster.org/mailman/listinfo/gluster-users
>
>
>
--
Benjamin Edgar
Computer Science
University of Virginia 2015
(571) 338-0878
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20160823/51175b05/attachment.html>
More information about the Gluster-users
mailing list