On Mon, Nov 8, 2010 at 10:01 PM, Paul Burba <ptbu...@gmail.com> wrote: > On Mon, Nov 8, 2010 at 9:09 PM, Chris Tashjian <ct...@thepond.com> wrote: >> >> On 11/8/2010 8:54 PM, Paul Burba wrote: >>> >>> On Mon, Nov 8, 2010 at 8:28 PM, Chris Tashjian<ct...@thepond.com> wrote: >>>> >>>> Paul - 1 more question. What happens when you run additional blame -g >>>> commands? Does the memory usage keep growing until it runs out of memory >>>> or >>>> will it cap itself at some point? In my tests it seems like memory >>>> wasn't >>>> getting released very often. Granted, memory usage spun up so fast, I'm >>>> not >>>> positive that it really had much of a chance for that to happen. >>> >>> Chris, >>> >>> I was describing *peak* memory use. The actual working set memory >>> drops from 71 MB to 7 MB once the blame -g is processed in my example. >>> Not sure how familiar you are with APR pools, but all the pools that >>> get allocated to process the request should be destroyed (freed) when >>> the server is done. If memory use is growing slowly after each blame >>> -g, then that isn't happening and we have a separate bug. I just did >>> a little ad hoc testing and there doesn't appear to be a problem. >>> After several blame -g hits, the peak working set for my svnserve.exe >>> process always returns to around 7 MB: >>> >>> 7464 K >>> 7652 K >>> 7500 K >>> 7596 K >>> >>> If you discover anything contrary to this please let us know on the dev >>> list. >> >> I just restarted our svn server and ran blame -g against a file. No one >> else is hitting the server right now and after 5 minutes mem usage is at >> 681,208K and the peak was 681,316K. (taskmgr screenshot: >> http://img215.imageshack.us/img215/2060/svnserve.jpg) > > I just checked with a trunk build prior to r1032808 it while the > memory leak manifests itself while processing the blame -g request > (peak memory at 571 MB), the peak working set returns to 9 MB once the > blame is processed. So it's not a problem on trunk. > > I do see what you are describing on 1.6.x though. Working memory > peaks at 591 MB and stays there! With r1032808 memory only peaks at > 91 MB, but stay there...so yup there is another bug. But it will have > to wait till tomorrow for me :-)
Hi Chris, I think we've reached the end of the road with this (in a good way :-) The problem with svnserve not freeing memory was fixed on ^/subversion/branches/performance by Stefan Fuhrmann a few months back: http://svn.apache.org/viewvc?view=revision&revision=982355 And cherry-picked over to trunk a few weeks ago: http://svn.apache.org/viewvc?view=revision&revision=1022675 With an unmodified 1....@1033049 my blame -g example results in: svnserve.exe starting working set memory 6,456 K svnserve.exe peak working set memory 617,696 K svnserve.exe ending working set memory 617,628 K With r1022675 merged to 1.6.x my blame -g example results in: svnserve.exe starting working set memory 6,572 K svnserve.exe peak working set memory 616,996 K svnserve.exe ending working set memory 11,364K With r1022675 and r1032808 both merged to 1.6.x: svnserve.exe starting working set memory 6,500 K svnserve.exe peak working set memory 92,572 K svnserve.exe ending working set memory 8,780 K I nominated r1022675 for backport to 1.6.14. Now we just have to await review/votes/vetoes. Paul