Bug #1458
closedOut of Memory problems
0%
Description
When checking Morpho memory useage, I discovered that lots of memory seems to
'disappear' and is never recovered when one attempts to use the
Documentation/Geographic Coveage... menu on a document that has multiple
GeographicCoverage subtrees. (e.g. knb-lter-gce.180.2 which has 10
geographicCoverage elements). This can cause java out-of-memory exceptions.
Reason for this problem is still unclear.
Updated by Dan Higgins over 20 years ago
I discovered the problem here was the LiveMapPanel class and the large world map
image being use to display graphical coverage bounding boxes. Each instance of
LiveMapPanel had several copies of the large image and each GeogreaphicCoverage
element had one LiveMapPanel!
There was really no reason for each instance to have its own copy of the same
image, so the class variable was made static to share the data. The map must
then be readded to the panel when the panel is displayed. We should note that a
Java Image can use a lot more memory than that of the compressed jpeg file upon
which it is based.
Also, (at least on Windows) one has to be careful looking at memory useage. If
one uses the Windows Task Manager, the JVM apparently never returns memory that
it has gotton from the system until it is closed. If one monitors the free
memory within the JVM, then that used by LiveMap is returned by garbage
collection when the objects are no longer referenced.