0 votes
436 views
When I get the error that I have run out of memory for a calculation, it does not seem that openLCA is purging the memory so it means I need to close an re-open the program before trying anything else. Since openLCA depends so much on memory, I am surprised that there is not an instruction to release the memory when any error is encountered.

Using -v 1.10.3
in openLCA by (120 points)

1 Answer

0 votes
by (114k points)

openLCA has a "garbage collection" which frees memory that is identified to be not needed any more, this is executed in periods where openLCA is not busy.

"I am surprised that there is not an instruction to release the memory when any error is encountered" - this should not happen regularly, so therefore it is probably not needed to have a special menu item or so for cleaning the memory (if this is your point) - if it happens, it it indeed best to simply restart openLCA.

by (120 points)
My suggestion was not to have a menu for cleaning memory but rather that the garbage collection should be triggered in the event of an error so that OpenLCA is not retaining memory for no reason.

Regarding the frequency of the problem, I am running out of memory very frequently and cannot even complete calculations using unit processes (allocating 8 GB of memory to OpenLCA). This was not the point of my initial comment since it points to a deeper problem, but just to say that it is happening regularly and therefore it would make sense for garbage collection to be triggered in these cases.
by (114k points)
I see, thank you for the clarification - for APOS ecoivent 3.7.1, 8 GB is indeed a bit small, for a full analysis with data quality assessment. Garbage collection is a Java feature. I can tell that in upcoming openLCA 2, memory demands will be much (much..) smaller, but for now, you will ideally have more than 8 GB memory allocated (like, 12 GB)
...