|
From: Dannes W. <da...@ex...> - 2013-06-11 10:07:46
|
Hi, what is your memory settings of the VM? the cache size is very large, so you need to have a -Xmx setting of atleast 1gig or 2). in general; you should define your query to be as selective as possible, hence making the result set smaller..... regards Dannes On Tue, Jun 11, 2013 at 11:11 AM, tech.vronk <te...@vr...> wrote: > Hi, > > i keep getting OutOfMemory on one instance > either > "Java heap space" or > "GC overhead limit exceeded". > > these are my cache settings: > <db-connection cacheSize="512M" checkMaxCacheSize="true" > collectionCache="128M" database="native" > files="/data/exist/db2" pageSize="4096" nodesBuffer="1000" > cacheShrinkThreshold="10000" > doc-ids="default" minDiskSpace="128M"> > > the strack trace (see below) suggests it comes from the eval()-function > (which I use rather heavily). > I translate evey request into a xpath of the form: > $data-collection//some-element [some > predicate]/ancestor-or-self::some-parent-element > > for example: > $data-collection//cmd:MdSelfLink[. eq > 'oai: > ufal-point.mff.cuni.cz:11858/00-097C-0000-0001-48F2-1']/ancestor-or-self::cmd:CMD > . > > The data-collection is rather big around 580.000 documents > > > Is there anything special I have to look out for with eval()-function? > I can't really imagine not to use it. > > thank you > > best, > matej > > > > 2013-06-06 01:59:33,635 [DefaultQuartzScheduler_Worker-3] INFO > (BFile.java [printStatistics]:434) - values.dbx DATA Buffers occupation > : 5% (3 out of 64) Cache efficiency : 0% > 2013-06-06 03:39:38,981 [eXistThread-73] ERROR (EXistServlet.java > [doGet]:255) - Java heap space > java.lang.OutOfMemoryError: Java heap space > at > org.exist.dom.NewArrayNodeSet.ensureCapacity(NewArrayNodeSet.java:174) > at org.exist.dom.NewArrayNodeSet.add(NewArrayNodeSet.java:197) > at > > org.exist.storage.structural.NativeStructuralIndexWorker$FindElementsCallback.indexInfo(NativeStructuralIndexWorker.java:272) > at org.exist.storage.btree.BTree.scanSequential(BTree.java:402) > at > org.exist.storage.btree.BTree$BTreeNode.scanNextPage(BTree.java:1832) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1628) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > at > org.exist.storage.btree.BTree$BTreeNode.access$12(BTree.java:1527) > at org.exist.storage.btree.BTree.query(BTree.java:372) > > > > 2013-06-09 19:21:36,000 [eXistThread-326] ERROR (EXistServlet.java > [doGet]:255) - GC overhead limit exceeded > java.lang.OutOfMemoryError: GC overhead limit exceeded > at org.exist.numbering.DLNBase.<init>(DLNBase.java:118) > at org.exist.numbering.DLN.<init>(DLN.java:107) > at > org.exist.numbering.DLNFactory.createFromData(DLNFactory.java:59) > at > > org.exist.storage.structural.NativeStructuralIndexWorker.readNodeId(NativeStructuralIndexWorker.java:640) > at > > org.exist.storage.structural.NativeStructuralIndexWorker.access$0(NativeStructuralIndexWorker.java:633) > at > > org.exist.storage.structural.NativeStructuralIndexWorker$FindElementsCallback.indexInfo(NativeStructuralIndexWorker.java:260) > at org.exist.storage.btree.BTree.scanSequential(BTree.java:402) > at > org.exist.storage.btree.BTree$BTreeNode.scanNextPage(BTree.java:1832) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1628) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552) > at > org.exist.storage.btree.BTree$BTreeNode.access$12(BTree.java:1527) > at org.exist.storage.btree.BTree.query(BTree.java:372) > at > > org.exist.storage.structural.NativeStructuralIndexWorker.findElementsByTagName(NativeStructuralIndexWorker.java:91) > at > org.exist.xquery.LocationStep.getDescendants(LocationStep.java:841) > at org.exist.xquery.LocationStep.eval(LocationStep.java:395) > at > org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) > at org.exist.xquery.PathExpr.eval(PathExpr.java:264) > at > org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) > at org.exist.xquery.XQuery.execute(XQuery.java:257) > at org.exist.xquery.XQuery.execute(XQuery.java:213) > at org.exist.xquery.functions.util.Eval.execute(Eval.java:443) > at org.exist.xquery.functions.util.Eval.doEval(Eval.java:396) > at org.exist.xquery.functions.util.Eval.eval(Eval.java:224) > at org.exist.xquery.BasicFunction.eval(BasicFunction.java:70) > at > org.exist.xquery.InternalFunctionCall.eval(InternalFunctionCall.java:55) > at org.exist.xquery.LetExpr.eval(LetExpr.java:142) > at org.exist.xquery.LetExpr.eval(LetExpr.java:187) > at > org.exist.xquery.BindingExpression.eval(BindingExpression.java:156) > at > org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:153) > at > org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:324) > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > -- eXist-db Native XML Database - http://exist-db.org Join us on linked-in: http://www.linkedin.com/groups?gid=35624 |