Closed ghost closed 5 months ago
The virtual machine has a certain amount of free memory, but a portion of that memory is pooled for reuse. Whenever a garbage collection (GC) cycle starts, the runtime checks whether the memory usage is increasing or decreasing. If the memory usage is decreasing, the system releases unused memory. If the usage is increasing, the system may put the memory in cache or release it.
I spent hours watching Windows Task Manager. I found that the Objeck VM never gives back memory. It will only allocate more and more memory. The JVM, on the other hand, does give back memory and allocate more when needed.
If want to send a code example, I'll look at it. The process used for memory stress testing utilizes the CLBG binary tree algorithm.
@iahung2 Thank you, there was a bug!
I initially thought it was related to memory swapping; however, it turned out to be a deadlock condition that I believe was introduced when I "fixed" an SA finding.
Also, I am creating Docker images that will be published between builds.
See #482
I spent hours watching Windows Task Manager. I found that the Objeck VM never gives back memory. It will only allocate more and more memory. The JVM, on the other hand, does give back memory and allocate more when needed.