Re: Beagle Memory Usage...


On Sun, 2006-04-23 at 23:19 -0400, Carlos Moffat wrote:
> Or not. It seems I spoke too soon. As far as I can tell, all my email
> and most if not all my files are already indexed, but beagled is still
> using 48% of my memory, according to top. Numbers are similar as before,
> with RES for beagled ~ 700MB (it reached 1.2G when indexing). 

Sorry for getting into this thread so late.  There is a bunch of
confusion and inaccuracy, so I am going to try to break down the

        * All versions of Beagle through 0.2.2 triggered a memory leak
        in Mono that caused extremely high memory usage over time.
        * 0.2.3 contained a workaround for this problem, as a fixed Mono
        hadn't been released at that time, but the workaround itself was
        buggy and would cause exceptions and explosive memory usage,
        particularly if you were running Deskbar.
        * 0.2.4 contained a modified workaround which also was buggy,
        but which happened with less frequency.  Again, Deskbar is
        usually what triggers it.
        * 0.2.5 is no different than 0.2.4 in this respect.
Carlos, the exceptions you included are the exact exceptions that cause
this memory issue.  The bug is in the workaround in Beagle itself, so
changing the version of Mono you are running will have no effect on the
issue.  These issues are tracked in these two bugs:

Today I am going to revert and remove the workaround entirely and bump
up the required Mono version to (the first version that fixed
the leak bug in the first place).  This should solve all the issues,
except that you'll have to upgrade Mono. :)  I didn't do this for 0.2.5
because I know at least the Fedora and Ubuntu guys wanted an updated
Beagle without needing to update their Mono stacks as well.

If you are running from source, you can revert the workaround yourself
by going to your beagled/Lucene.Net directory and running:

        patch -p0 -R < upstream-changes/19_no_thread_local_storage.patch
And then go up to your beagled directory and rebuild.  Remember, for
this to work, you need Mono or newer.

Hope this helps,

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]