No memory pool named Old Gen
prihoda opened this issue · 3 comments
prihoda commented
When running OSPREY through a debian Docker image, I'm getting the following error:
java.util.NoSuchElementException Traceback (most recent call last)
<ipython-input-10-f2eef7faf7f3> in <module>
1 # find the best sequence and rotamers
----> 2 gmec = osprey.GMECFinder(astar, confEcalc).find()
3 gmec
java.util.NoSuchElementException: java.util.NoSuchElementException: no memory pool named Old Gen
I am using OpenJDK 11:
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Debian-1deb10u1, mixed mode, sharing)
Here is a list of memory pools that are actually available from ManagementFactory.getMemoryPoolMXBeans()
:
CodeHeap 'non-nmethods'
Metaspace
Tenured Gen
CodeHeap 'profiled nmethods'
Eden Space
Survivor Space
Compressed Class Space
CodeHeap 'non-profiled nmethods'
prihoda commented
When running the same debian Docker image on a Mac, it works. The list of memory pools is as follows:
CodeHeap 'non-nmethods'
Metaspace
CodeHeap 'profiled nmethods'
Compressed Class Space
G1 Eden Space
G1 Old Gen
G1 Survivor Space
CodeHeap 'non-profiled nmethods'
cuchaz commented
Osprey depends on some implementation details of the JVM to report memory statistics, which is partially why Osprey bundles its own JVM. Substituting in a different JVM is likely to cause problems.
Hopefully the resolution to issue #134 also solves this problem?
gusennan commented
Closing due to inactivity. Please feel free to re-open if the issue is still occurring.