Thanks for the input, everyone. I see there is mostly agreement on this question. Once the OS allocates memory to the JVM, the OS never gets it back. GC does not return memory to the OS.
This is unfortunate behavior for those of us who stack multiple instances on tomcat/java on the same server as it limits the number of possible running instances. We have servers with more than 200 instances on tomcat running on them (8-core, 32GB). For most instances, Xms and Xmx are 64M. Performance is good and we do not get OOM errors. However, the software vendor is now arbitrarily requiring us to change the -Xmx value to 512M for all running instances. Ideally, I would like to set all JVMs to -Xms=32M -Xmx=512M and let the system figure out how much memory each instance really needs. If IBM's statement is unalterably true, then this will have a negative impact on the number of instances we can stack. :-( -- Eric Robinson Disclaimer - February 8, 2011 This email and any files transmitted with it are confidential and intended solely for Tomcat Users List. If you are not the named addressee you should not disseminate, distribute, copy or alter this email. Any views or opinions presented in this email are solely those of the author and might not represent those of Physicians' Managed Care or Physician Select Management. Warning: Although Physicians' Managed Care or Physician Select Management has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments. This disclaimer was added by Policy Patrol: http://www.policypatrol.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org