In this second heap dump I drilled down only one of the SegmentReaders (of the StandardDirectoryReader). Looks like StandardSegmentReader has 24 subReaders (SegmentReaders)
Class Name | Shallow Heap | Retained Heap | Percentage --------------------------------------------------------------------------------------------------------- org.apache.lucene.index.StandardDirectoryReader @ 0x783932460| 72 | 59'255'872 | 3.04% |- org.apache.lucene.index.SegmentReader[24] @ 0x794089ee0 | 112 | 59'190'960 | 3.03% | |- org.apache.lucene.index.SegmentReader @ 0x788820f40 | 72 | 16'905'072 | 0.87% <- this is the one I "drilled down" | |- org.apache.lucene.index.SegmentReader @ 0x783555a20 | 72 | 5'845'840 | 0.30% | |- org.apache.lucene.index.SegmentReader @ 0x788cea030 | 72 | 5'399'656 | 0.28% | |- org.apache.lucene.index.SegmentReader @ 0x7839e2bd8 | 72 | 4'256'552 | 0.22% | |- org.apache.lucene.index.SegmentReader @ 0x77f281b98 | 72 | 4'116'944 | 0.21% | |- org.apache.lucene.index.SegmentReader @ 0x7888212a0 | 72 | 3'887'368 | 0.20% | |- org.apache.lucene.index.SegmentReader @ 0x7845ee638 | 72 | 3'818'192 | 0.20% | |- org.apache.lucene.index.SegmentReader @ 0x794777c08 | 72 | 3'644'816 | 0.19% | |- org.apache.lucene.index.SegmentReader @ 0x783956a90 | 72 | 3'583'312 | 0.18% | |- org.apache.lucene.index.SegmentReader @ 0x783dd5790 | 72 | 3'153'568 | 0.16% | |- org.apache.lucene.index.SegmentReader @ 0x783dd57d8 | 72 | 1'017'264 | 0.05% | |- org.apache.lucene.index.SegmentReader @ 0x77f27b7e8 | 72 | 668'304 | 0.03% | |- org.apache.lucene.index.SegmentReader @ 0x77d657100 | 72 | 635'344 | 0.03% | |- org.apache.lucene.index.SegmentReader @ 0x77e35bb10 | 72 | 614'784 | 0.03% | |- org.apache.lucene.index.SegmentReader @ 0x77d676e68 | 72 | 263'176 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d6579e8 | 72 | 244'328 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77f281b08 | 72 | 211'152 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d6579a0 | 72 | 178'784 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77f2761b8 | 72 | 175'384 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d657148 | 72 | 167'128 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d676e20 | 72 | 164'128 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d657a30 | 72 | 150'560 | 0.01% | |- org.apache.lucene.index.SegmentReader @ 0x77d676eb0 | 72 | 53'992 | 0.00% | |- org.apache.lucene.index.SegmentReader @ 0x77d676ef8 | 72 | 35'200 | 0.00% | '- Total: 24 entries | | | --------------------------------------------------------------------------------------------------------- -----Ursprüngliche Nachricht----- Von: Michael McCandless [mailto:luc...@mikemccandless.com] Gesendet: Montag, 16. Juni 2014 10:59 An: Lucene Users Betreff: Re: [lucene 4.6] NPE when calling IndexReader#openIfChanged Wait, in fst.ByteStore I see "only" 5'485'824 -- does this mean 5485824 bytes, or ~5.2 MB? This is probably "correct", meaning this is the RAM to hold the terms index. But I can't see from your heap dump output where the other ~51.3 MB is being used by StandardDirectoryReader. Mike McCandless http://blog.mikemccandless.com On Sun, Jun 15, 2014 at 2:16 PM, Clemens Wyss DEV <clemens...@mysign.ch> wrote: >> bytes (ie, ~56.5 MB) being used by the StandardDirectoryReader? > Right, namely in org.apache.lucene.util.fst.BytesStore's > > Class Name > | Shallow Heap | Retained Heap | Percentage > ---------------------------------------------------------------------------------------------------------------------------------------------- > org.apache.lucene.index.StandardDirectoryReader @ 0x783932460 > | 72 | 59'255'872 | 3.04% > |- org.apache.lucene.index.SegmentReader[24] @ 0x794089ee0 > | 112 | 59'190'960 | 3.03% > | |- org.apache.lucene.index.SegmentReader @ 0x788820f40 > | 72 | 16'905'072 | 0.87% > | | |- org.apache.lucene.index.SegmentCoreReaders @ 0x7910cacc8 > | 56 | 16'895'576 | 0.87% > | | | |- > org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader @ > 0x780661c50 | 24 | 16'864'864 | 0.86% > | | | | |- org.apache.lucene.codecs.BlockTreeTermsReader @ 0x7910cae50 > | 56 | 16'864'240 | 0.86% > | | | | | |- java.util.TreeMap @ 0x783902738 > | 48 | 16'858'472 | 0.86% > | | | | | | '- java.util.TreeMap$Entry @ 0x77ec5f9f8 > | 40 | 16'858'424 | 0.86% > | | | | | | |- java.util.TreeMap$Entry @ 0x77ec5fa20 > | 40 | 10'895'656 | 0.56% > | | | | | | | |- > org.apache.lucene.codecs.BlockTreeTermsReader$FieldReader @ 0x78347fc08| > 72 | 5'497'328 | 0.28% > | | | | | | | | |- org.apache.lucene.util.fst.FST @ 0x788fe36d0 > | 104 | 5'497'208 | 0.28% > | | | | | | | | | |- org.apache.lucene.util.fst.BytesStore @ > 0x77ec5fe80 | 40 | 5'485'824 | 0.28% > | | | | | | | | | |- org.apache.lucene.util.fst.FST$Arc[128] @ > 0x786efec80 | 528 | 11'216 | 0.00% > | | | | | | | | | |- org.apache.lucene.util.BytesRef @ > 0x780664410 | 24 | 48 | 0.00% > | | | | | | | | | |- int[0] @ 0x7806643f8 > | 16 | 16 | 0.00% > | | | | | | | | | '- Total: 4 entries > | | | > ---------------------------------------------------------------------- > ---------------------------------------------------------------------- > -- > -----Ursprüngliche Nachricht----- > Von: Michael McCandless [mailto:luc...@mikemccandless.com] > Gesendet: Freitag, 13. Juni 2014 15:48 > An: Lucene Users > Betreff: Re: [lucene 4.6] NPE when calling IndexReader#openIfChanged > > On Fri, Jun 13, 2014 at 8:53 AM, Clemens Wyss DEV <clemens...@mysign.ch> > wrote: >> Thanks a lot! >>>"large text fields" >> What is a good limit (in characters) to switch from StringField to >> TextField? Do <Langugae>Analyzers (e.g. GermanAnalyzer) help a lot in >> reducing the size of an Index? > > It's more based on your app's requirements. StringField indexes everything > as a single token. > >>> Add XXXDocValuesField instead of e.g. StringField. >> Does this apply only for StringFields? Or for TextFields too? >> >>> Upgrade to the upcoming Lucene 4.9 >> we have not yet transitionen to Java 7/8 ... hopefully soon ;) >> >>> and take a heap dump and see what's using RAM >> Find attached a snippet from MemoryAnalyzer > > Does this say 59255872 bytes (ie, ~56.5 MB) being used by the > StandardDirectoryReader? > > I'm a little confused because I don't see which structures sum up to that > total. And I would expect the FST (terms index) to take more RAM. > > Mike McCandless > > http://blog.mikemccandless.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org