[Gluster-devel] Excessive memory usage with 1.3.12
Lukas Hejtmanek
xhejtman at ics.muni.cz
Fri Nov 7 22:01:37 UTC 2008
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
-------------- next part --------------
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
More information about the Gluster-devel
mailing list