Having an issue that I've been researching for a long time, but not really finding an answer that fits my situation and so I thought I'd post here. We're running ESXI 5.5 and I've got a guest server running Tomcat 6 and a 1.6 JVM on Windows Server 2008 R2. I know the JVM and Tomcat are old, but unfortunately I'm restricted from upgrading either due to application requirements.
I'm running into an issue with full garbage collection periodically taking too long (minutes vs seconds). My understanding is that this usually indicates an issue with memory allocation, but my looking at memory usage doesn't seem to support that, but increasing memory available to the server and then to the Tomcat instances has resolved the issue in the past. However, our admins are reluctant to increase resources available to a guest without proof it's needed (understandable). I've been told that we can over allocate memory to Tomcat instances because in looking at utilization stats, the VM guest is assigned 8 gig of RAM, but active memory tops out at 5 gig based on stats I've gathered. The definition of over allocation in this case being that we can assign more memory to the Tomcats than Windows believes it has available. My research with VM's and how JVM's use memory indicate that this may not be the best idea. I would like to resolve the garbage collection issue without requesting more resources, but if I can't, I need to figure out how to prove to our IT staff that we need more resources assigned to that server.
I would be grateful for any experiences that people experienced with VM's and JVM memory usage and garbage collection could offer. I searched these forums quite a bit and didn't quite find anything that fits my exact issue. Thanks for your time.
- Patrick