Mark Thomas wrote:
On 15/01/2010 08:57, Abel MacAdam wrote:
Hi,

We manage several customers on VMWare systems. Their Tomcat installation is
used by a Content Management System written in Java. I have a question about
what happens with Tomcat when memory it has configured is not available when
necessary.

Our Tomcat installations should use 500 MB (-Xmx516m). But when that memory
is not used, VMWare will take it away, and give it to other VMWares that are
in need of memory. This will not be a problem for a while. But at one moment
Tomcat may wish to use this memory, and VMWare will not be able to supply it
directly. What will happen in that case?

I suspect you will see slow response times until the virtual machine is
allocated the memory it needs/expects. The interaction of the JVM/OS/VM
is going to be complex. It is probably easier to just try it and see.

Mark

I guess you could also remove one variable out of the equation, and add a "-Xms516m" switch, making the JVM allocate the 516 MB right at start. I am told that this is also more efficient (Java-wise), because it avoids the JVM have to readjust the memory all the time.

As Mark hints at, if you have 3 levels of memory management, each one of them allocating/deallocating memory dynamically, the final result is likely to be rather inefficient.

So either you set VMWare to allocate (and reserve) a fixed amount of memory for this virtual machine, and inside it let the OS and Java allocate memory dynamically, or else you let VMWare allocate memory more dynamically ("overbooking" the total available memory) between several virtual machines. But then, when there is not enough physical memory available to let a given virtual machine run, I suspect VMWare will just freeze it out until there is enough memory available. Or it will start swapping, which should have a pretty dramatic effect on the performance of /all/ virtual machines. What VMWare exactly does in that case, is a question to ask on a VMWare support forum though. If you do, maybe let us know the answer ?

Basically, there is no such thing as a free lunch..


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to