On Sat, Nov 08, 2008 at 01:01:08AM +0530, Krishna Srinivas wrote:
> Are you sure that its a leak of io-cache? did you try by removing the
> translator and not observe the leak?

yes, omitting io-cache from configuration works OK, no leaks.

> What made you conclude that cache-size option was being ignored? It
> could be a memory leak by io-cache at some other place too.

I probed maps of glusterfs when leaks occur, bonnie++ created 8 files each
having 1GB size. maps shown that four of them were mmaped. So I guess it tries
to cache as much as possible on x86_64.

> I tried to make io-cache memleak, but its not happening, what
> operations do you guys do to see the leak? can you see if some simple
> test case makes it leak? (so that it will be easy for me to reproduce
> the bug here and fix it)

I can provide either core of leaked process or steps how to reproduce.

I have 3 servers. Config one of them is attached, configs are symmetrical.

I use bonnie++ benchmark to test the file system:
bonnie++ -d /mnt/gluster -u 0:0

the first run of bonnie is usually ok. the second fails on memleaks. It's
important to use 64bit system.

-- 
Lukáš Hejtmánek
volume storage_1
        type storage/posix
        option directory /mnt/data/gluster-a     # 200G
end-volume

volume plock1
        type features/posix-locks
        option mandatory on
        subvolumes storage_1
end-volume      

###################

volume wb1
        type performance/write-behind
        subvolumes plock1
end-volume

volume ra1
        type performance/read-ahead
        subvolumes wb1
end-volume

volume brick1
        type performance/io-threads
        subvolumes ra1
        option thread-count 2
end-volume

#################

# export pro dalsi servery
volume skirit58
        type protocol/server
        option transport-type tcp/socket
        subvolumes brick1  
        option auth.addr.brick1.allow 147.251.11.*
end-volume

###################################################
# Client mount part of configurations
###################################################

volume skirit60-brick1
        type protocol/client
        option transport-type tcp/socket
        option remote-host skirit60.ics.muni.cz
        option remote-subvolume brick1  
end-volume

volume skirit60-ns
        type protocol/client
        option transport-type tcp/socket
        option remote-host skirit60.ics.muni.cz
        option remote-subvolume ns
end-volume

volume skirit59-brick1
        type protocol/client
        option transport-type tcp/socket
        option remote-host skirit59.ics.muni.cz
        option remote-subvolume brick1
end-volume

volume unify
        type cluster/unify
        subvolumes brick1 skirit60-brick1 skirit59-brick1
        option scheduler nufa
        option nufa.local-volume-name brick1
        option nufa.limits.min-free-disk 5%
        option namespace skirit60-ns
end-volume

volume wb
        type performance/write-behind
        subvolumes unify
end-volume

volume ra
        type performance/read-ahead
        subvolumes wb
end-volume

volume ioc
        type performance/io-cache
        option cache-size 64MB
        option page-size 1MB
        option force-revalidate-timeout 2
        subvolumes ra
end-volume      

_______________________________________________
Gluster-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/gluster-devel

Reply via email to