I’m trying to better understand how the Java heap behaves in ArcGIS Enterprise. I don’t have any background in Java memory management beyond some recent research, so I’d appreciate clarification to make sure I’m interpreting this correctly.
From what I’ve gathered, Java in ArcGIS Enterprise is configured to allow the heap to grow up to the configured -Xmx value (typically 80% of available physical memory). However, it appears that once the heap expands, the Garbage Collector does not shrink the heap, even if memory within the heap is freed.
If this understanding is correct, then:
I'm considering submitting an ArcGIS Idea to request that ArcGIS Monitor expose Java heap related metrics, but I just wanted to confirm my understanding first. Ideally, I’d prefer not to rely on third-party Java heap monitoring tools, though I’d be interested to hear if others are using any specific tools or approaches.