Hi George -
About a year ago we had a memory leak around some issues with the
1.4.3code. A few of us wrote some sample programs that manifested the
error, but
I was able to do a fair amount of sleuthing with Memprofiler (
http://memprofiler.com/). It's a pretty good tool for $100.
-- j
On 9/10/06, George Aroush <george@aroush.net> wrote:
>
> Hi Folks,
>
> Since last weekend, I have been trying to narrow down the problem to this
> memory leak without much of a luck.
>
> Does anyone have a tool (or could recommend one, without costing me $$)
> which hopefully show the source of the leak?
>
> Unlike C++ code, the leak here, obviously, is due to not releasing
> references to temporary or real objects. The trick is finding the object.
>
> This leak can be created with this simple code:
>
> public static void Main(System.String[] args)
> {
> IndexWriter diskIndex;
> Directory directory;
> Analyzer analyzer;
> Document doc;
> int count;
> string indexDirectory;
> System.IO.FileInfo fi;
>
> indexDirectory = "C:\\Index.Bad";
>
> fi = new System.IO.FileInfo(indexDirectory);
> directory = Lucene.Net.Store.FSDirectory.GetDirectory(fi,
> true);
>
> analyzer = new SimpleAnalyzer();
> diskIndex = new IndexWriter(directory, analyzer, true);
>
> count = 0;
> while (count < 10000)
> {
> doc = new Document();
> diskIndex.AddDocument(doc);
> count++;
> }
>
> diskIndex.Close();
> }
>
> This code will show a leak in 1.9, 1.9.1 and 2.0 but not 1.4.3. I also
> verified and it doesn't leak under the Java version of Lucene (2.0 is
> where
> I tested.)
>
> Regards,
>
> -- George
>
>
> -----Original Message-----
> From: George Aroush [mailto:george@aroush.net]
> Sent: Friday, September 01, 2006 9:21 PM
> To: lucene-net-user@incubator.apache.org
> Subject: RE: Lucene.Net Indexing Large Databases
>
> Hi Chris,
>
> I am using 1.9.1 in production and I am not having this problem. Sorry, I
> don't have enough cycles to try your code on 1.9.
>
> This problem was reported on 1.4.x and was fixed. I am sure I carried it
> over to 1.9.x and 2.0 -- or maybe this is a new issue. I will double
> check
> when I get the cycles.
>
> You can get 1.4.3's source code as ZIP from the download site of
> Lucene.Net
> which is here:
> https://svn.apache.org/repos/asf/incubator/lucene.net/site/download/ or
> you
> can SVN the source code from here:
> https://svn.apache.org/repos/asf/incubator/lucene.net/tags/
>
> Regards,
>
> -- George Aroush
>
>
> -----Original Message-----
> From: Chris David [mailto:chris@snapstream.com]
> Sent: Friday, September 01, 2006 1:46 PM
> To: lucene-net-user@incubator.apache.org
> Subject: RE: Lucene.Net Indexing Large Databases
>
> Thanks René, so its not just me with this problem. Now where can I get a
> hold of this wonderful 1.4 Build of Lucene. Its not listed directly on
> Apache's Lucene.NET Page. I am anxious to see if my code actually does
> work.
> Thanks again for all your help, I really do appreciate it.
>
> Chris
> Snapstream Media
> -----Original Message-----
> From: René de Vries [mailto:rene.de.vries@howardshome.com]
> Sent: Friday, September 01, 2006 7:32 AM
> To: lucene-net-user@incubator.apache.org
> Subject: RE: Lucene.Net Indexing Large Databases
>
> Update: I didn't realize my earlier code example ran against 1.4.
>
> If I run this with 1.9final-005 build, I am experiencing the exact same
> problems as Chris mentions. Memory consumtion keeps growing, I had to kill
> it at 1.5Gb. Exact same code, but with a 1.4 version of the lucene.netDLL,
> and it runs along at 50Mb
>
> René
>
>
|