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