151 words

Heap Limit reached although the option 'objectdb.temp.page-file' is activated

2016-02-18 07:48

We persisted many entities in a transaction, unfortunately the heap reached its limit at any time although the flush and the GC were invoked regularly.

The attachments show the memory heap dump of the biggest consumer.

Which objects you would actually expect to remove by the garbage collector?

Why the option objectdb.temp.page-file does not perform?



<temp path="$temp" threshold="512mb" />

System.setProperty("objectdb.temp.page-file", "true");

Version objectdb-2.6.6_05

btc_es's picture
Joined on 2014-10-20
User Post #93
2016-02-18 09:33
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.objectdb.o.PRU.X(PRU.java:117) ~[na:na]
at com.objectdb.o.VLV.n(VLV.java:192) ~[na:na]
at com.objectdb.o.EVC.l(EVC.java:113) ~[na:na]
at com.objectdb.o.STA.U(STA.java:536) ~[na:na]
at com.objectdb.o.STM.E(STM.java:431) ~[na:na]
at com.objectdb.o.OBM.bP(OBM.java:924) ~[na:na]
at com.objectdb.jdo.PMImpl.bP(PMImpl.java:2267) ~[na:na]
at com.objectdb.o.OBM.bO(OBM.java:835) ~[na:na]
at com.objectdb.o.OBM.flush(OBM.java:765) ~[na:na]
btc_es's picture
Joined on 2014-10-20
User Post #95
2016-02-18 09:54

The heap dump shows millions of entity objects in memory (NormalizedAccessPathImpl, CoverageCodeHarnessInterfaceObjectImpl, etc.).

It doesn't seem related to objectdb.temp.page-file, which may work and move modified database pages (after flush) to a temporary file, but is not related to entity objects hold in memory.

Please check for GC roots to the entity objects in order to see were are the strong references that hold them in memory.

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
support's picture
Joined on 2010-05-03
User Post #2,436

Post Reply

Please read carefully the posting instructions - before posting to the ObjectDB website.

  • You may have to disable pop up blocking in order to use the toolbar (e.g. in Chrome).
  • Use ctrl + right click to open the browser context menu in the editing area (e.g. for using a browser spell checker).
  • To insert formatted lines (e.g. Java code, stack trace) - select a style in the toolbar and then insert the text in the new created block.
  • Avoid overflow of published source code examples by breaking long lines.
  • You may mark in paragraph code words (e.g. class names) with the code style (can be applied by ctrl + D).
  • Long stack traces (> 50 lines) and complex source examples (> 100 lines) should be posted as attachments.
Maximum file size: 32 MB